首页 新闻 会员 周边 捐助

请问DbConnection是否具有多线程安全性

0
悬赏园豆:10 [已解决问题] 解决于 2008-10-19 19:44

因为最近要重写以前写的Ado.NET的包装类,现在想搞清楚DbConnection的各子类是否具有多线程安全性,因为想让多线程代码共用一个DbConnection,麻烦知道的朋友指点一二.

父辈的旗帜的主页 父辈的旗帜 | 初学一级 | 园豆:2
提问于:2008-10-08 19:39
< >
分享
最佳答案
0

DbConnection的任何公共静态成员都是线程安全的,但不保证所有实例成员都是线程安全的。

数据库引擎有各种实现策略,对于某些引擎,当一个DBConnection被一个静态游标(例如某种DBReader)锁住的时候,此时你不关闭这个Reader,直接将DBConnection用于另外一个查询,数据库引擎就会告诉你这个DBConnection不能用于其它查询(否则现有的游标就被毁了),这跟单线程、多线程毫无关系.

RicoRui | 老鸟四级 |园豆:3663 | 2008-10-09 09:36
其他回答(2)
0

没有,可以用Static,Static的是线程安全的

重典 | 园豆:2442 (老鸟四级) | 2008-10-08 20:43
0

不具有

如果需要有的话得lock

 

@重典

static不是线程安全的吧?

JimLiu | 园豆:300 (菜鸟二级) | 2008-10-08 21:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册