CSDN论坛 > C++ Builder > 数据库及相关技术

ADO是线程安全级的,为什么我在多个线程中访问数据库会出现“对象已打开”错误。 [问题点数:100分,结帖人Atomictry]

Bbs4
本版专家分:1361
结帖率 100%
CSDN今日推荐
Bbs3
本版专家分:780
Bbs8
本版专家分:44373
Blank
红花 2002年9月 C++ Builder大版内专家分月排行榜第一
2002年8月 C++ Builder大版内专家分月排行榜第一
2002年4月 C++ Builder大版内专家分月排行榜第一
2002年3月 C++ Builder大版内专家分月排行榜第一
Blank
黄花 2002年7月 C++ Builder大版内专家分月排行榜第二
2002年2月 C++ Builder大版内专家分月排行榜第二
Bbs3
本版专家分:725
Bbs3
本版专家分:780
Bbs7
本版专家分:17059
Blank
红花 2001年3月 C++ Builder大版内专家分月排行榜第一
2001年2月 C++ Builder大版内专家分月排行榜第一
Bbs8
本版专家分:34310
Blank
红花 2002年12月 C++ Builder大版内专家分月排行榜第一
2002年2月 C++ Builder大版内专家分月排行榜第一
Blank
黄花 2002年3月 C++ Builder大版内专家分月排行榜第二
2002年1月 C++ Builder大版内专家分月排行榜第二
Blank
蓝花 2002年11月 C++ Builder大版内专家分月排行榜第三
2002年10月 C++ Builder大版内专家分月排行榜第三
2002年4月 C++ Builder大版内专家分月排行榜第三
Bbs1
本版专家分:95
Bbs1
本版专家分:95
Bbs8
本版专家分:34310
Blank
红花 2002年12月 C++ Builder大版内专家分月排行榜第一
2002年2月 C++ Builder大版内专家分月排行榜第一
Blank
黄花 2002年3月 C++ Builder大版内专家分月排行榜第二
2002年1月 C++ Builder大版内专家分月排行榜第二
Blank
蓝花 2002年11月 C++ Builder大版内专家分月排行榜第三
2002年10月 C++ Builder大版内专家分月排行榜第三
2002年4月 C++ Builder大版内专家分月排行榜第三
Bbs4
本版专家分:1361
Bbs4
本版专家分:1361
Bbs4
本版专家分:1361
Bbs8
本版专家分:34310
Blank
红花 2002年12月 C++ Builder大版内专家分月排行榜第一
2002年2月 C++ Builder大版内专家分月排行榜第一
Blank
黄花 2002年3月 C++ Builder大版内专家分月排行榜第二
2002年1月 C++ Builder大版内专家分月排行榜第二
Blank
蓝花 2002年11月 C++ Builder大版内专家分月排行榜第三
2002年10月 C++ Builder大版内专家分月排行榜第三
2002年4月 C++ Builder大版内专家分月排行榜第三
Bbs6
本版专家分:6604
Bbs4
本版专家分:1361
Bbs1
本版专家分:25
Bbs4
本版专家分:1361
Bbs4
本版专家分:1361
Bbs2
本版专家分:190
Bbs7
本版专家分:10850
Bbs6
本版专家分:6604
Bbs4
本版专家分:1361
Bbs4
本版专家分:1361
匿名用户不能发表回复!
其他相关推荐
servlet线程安全问题的详解
摘 要:介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍。      Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所 以,在编写代码时需要非常细致地考虑多线程
线程安全问题及解决办法
一.什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源: 一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于每个线程执行的过程是不可控的,所以很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。 举个简单的例子:   现
线程安全、线程私有变量
线程安全:无论有多少个线程调用这个函数,此函数都会给相应的线程返回正确的结果。 看下面这个例子: 很明显我们在rebuf这个函数里返回了一个局部变量,在rebuf这个函数运行完之后,局部变量就会被销毁,所以我们打印出来的是这个样子的。 那我们改进呢,函数运行完之后,局部变量就会被销毁,那我们就不让它销毁,加上static关键字
Sqlite数据库多线程并发问题
(7) 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗? 多进程可以同时打开同一个数据库,也可以同时 SELECT 。但只有一个进程可以立即改数据库。 SQLite使用读/写锁定来控制数据库访问。(Win95/98/ME 操作系统缺乏读/写锁定支持,在低于 2.7.0 的版本中,这意味着在 windows 下在同一时间内只能有一个进程读数据库。在版本 2.7.0
【java并发】造成HashMap非线程安全的原因
0. 写在前面  在前面我的一篇总结线程范围内共享数据文章中提到,为了数据能在线程范围内使用,我用了HashMap来存储不同线程中的数据,key为当前线程,value为当前线程中的数据。我取的时候根据当前线程名从HashMap中取即可。   因为当初学习HashMap和HashTable源码的时候,知道HashTable是线程安全的,因为里面的方法使用了synchronized进行同步,但是Has
Android多线程下安全访问数据库
为了记录如何线程安全地访问你的Android数据库实例,我写下了这篇小小札记。文章中引用的项目代码请点击这里       假设你已编写了自己的 SQLiteOpenHelper。 public class DatabaseHelper extends SQLiteOpenHelper { ... }         现在你想在不同的线程中对数据库进行写数据操作: // Thread
Spring并发访问的线程安全性问题(高度总结)
由于Spring MVC默认是Singleton的,所以会产生一个潜在的安全隐患。根本核心是instance的变量保持状态的问题。这意味着每个request过来,系统都会用原有的instance去处理,这样导致了两个结果(单例的好处): 一是我们不用每次创建Controller, 二是减少了对象创建和垃圾收集的时间; 由于只有一个Controller的instance,当多个线程同时调用它的
谈谈ThreadLocal和解决线程安全的关系
在这篇文章中我粗略的就我的理解谈了一下ThreadLocal。但是很多时候我们还是会认为ThreadLocal是为了解决线程安全的问题而设计的。这篇文章就我的理解再加上该文章  中很多朋友的回复阐述一下ThreadLocal和线程安全的关系。  首先我们来看一下线程安全问题产生的两个前提条件:  1. 数据共享。多个线程访问同样的数据。  2. 共享数据是可变的。多个线程对访问的共享数
HttpSession的线程安全问题及注意事项
HttpSession session =  request.getSession();List list = session.getAttribute("productCart");myService.save(list); // 保存购物车数据到数据库这个对象会被多次使用,也会被同一个用户的多个页面使用,所以他对于系统来说是线程不安全的。比如用户在从产品列表里面选择产品,这面选择3种,
ArrayList线程不安全详解
首先需要了解什么是线程安全:线程安全就是说多线程访问同一代码(对象、变量等),不会产生不确定的结果。 既然说ArrayList是线程不安全的,那么在多线程中操作一个ArrayList对象,则会出现不确定的结果。具体是怎样不确定,请看测试下面这段代码(在此测试ArrayList的add方法): public class ArrayListInThread implements Runnable{
关闭