首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

多线程并发操作数据库时经常报出读写冲突的异常,这是咋回事呢

2012-02-15 
多线程并发操作数据库时经常报出读写冲突的错误,这是怎么回事呢?请问下各位,我程序开了5个线程,每个线程抓

多线程并发操作数据库时经常报出读写冲突的错误,这是怎么回事呢?
请问下各位,我程序开了5个线程,每个线程抓取指定网站的网页,它们的工作流程都一样,就是被指定的网站不同。在每个线程里都有对server   2000   的select、insert操作,只有这两种操作。我只开一个线程运行时不出错,同时开5个线程就不定时的报出读写冲突的错误,这是怎么回事呢?
      这是我的毕设,老师下周要看演示,希望各位能帮帮忙,呵呵,多谢了!

[解决办法]
常见的并发问题,使用锁和事务来控制吧。
[解决办法]
最快的方法 ,将你的 select 全部改成 select .. from tb with(nolock)
[解决办法]
使用

select *
from 表名 with(nolock)


--不对表加锁进行访问

即使有个用户正在delete 表名,也可以查询出当前表的数据
[解决办法]

select * from 表名 with(nolock)

[解决办法]
从根本上解决,还需要检查前台代码的实现方式,优化SQL

热点排行