您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> .NET >> 急急急急 在线急求大侠指点:多线程数据库读写的时候程序访问数据库间歇性出错

急急急急 在线急求大侠指点:多线程数据库读写的时候程序访问数据库间歇性出错

来源:网络整理     时间:2016/7/3 2:12:42     关键词:急急急急

关于网友提出的“急急急急 在线急求大侠指点:多线程数据库读写的时候程序访问数据库间歇性出错”问题疑问,本网通过在网上对“急急急急 在线急求大侠指点:多线程数据库读写的时候程序访问数据库间歇性出错”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:急急急急 在线急求大侠指点:多线程数据库读写的时候程序访问数据库间歇性出错
描述:

本帖最后由 wangfan12580 于 2011-06-07 14:05:18 编辑

错误1:不能打开数据库##。应用程序可能无法识别该数据库,或文件可能损坏 错误2:尝试打开的数据库已经被机器 #WMCCN# 上的用户 #Admin# 以排它的方式打开。当数据库可使用后请再试一次 程序测试可以正常运行,只是一段时间之后(不定时),就会引发如上所述的数据库访问错误 每次数据库访问之后,连接都是关闭了的dispose()  close() 测试的数据库是临时建的,并没有创建排他锁 可能是多个线程同时访问数据库的时候造成的资源争夺错误 希望有多线程方面类似情况处理经验的大侠们速来指点一二,最好能告知这种情况最有效的处理方案 时间很紧,在线急等,谢谢
解决方案1:

帮忙顶

解决方案2:

lock的应该是一个静态的属性或对象。 不过弱弱地问句,300个线程,会差吗??????没试过。。

解决方案3:

每次访问数据库都是一个新的DAL实例? 那你lock(this) 有什么用,锁定自身? 定义一个私有静态变量 private static  object lockobj=new object(); lock(this) => lock(lockobj)

解决方案4:

友情帮顶......

解决方案5:

你掩盖了一个实情,你使用什么数据库?是Jet(Access)?

解决方案6:

引用 3 楼 pengyi_205 的回复:
每次访问数据库都是一个新的DAL实例? 那你lock(this) 有什么用,锁定自身? 定义一个私有静态变量 private static object lockobj=new object(); lock(this) => lock(lockobj)
 这哥们应该可以  线程同步 使用lock锁住共同调用的方法。。。每次线程调用这方法 只有一个个的去调用 解决方案7:

引用 3 楼 pengyi_205 的回复:
每次访问数据库都是一个新的DAL实例? 那你lock(this) 有什么用,锁定自身? 定义一个私有静态变量 private static  object lockobj=new object(); lock(this) => lock(lockobj)
同意,有必要使用lock吗
以上介绍了“急急急急 在线急求大侠指点:多线程数据库读写的时候程序访问数据库间歇性出错”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2230689.html

急急急急相关图片

急急急急相关文章