C# 多线程同时执行一条查询SQL 有一些线程会查不到结果?
答案:3 悬赏:60
解决时间 2021-02-09 17:30
- 提问者网友:妖精ξ也會哭
- 2021-02-09 08:55
C# 多线程同时执行一条查询SQL 有一些线程会查不到结果?
最佳答案
- 二级知识专家网友:无字情书
- 2021-02-09 09:12
多线程操作,请确保每个线程操作的SQL语句中的表是相对独立的。
不然,你需要安排线程间的顺序,也就是lock代码段。
同一时间,两个线程一起跑同一句SQL,而且还操作同一张表,那么,肯定就会有问题了。
不然,你需要安排线程间的顺序,也就是lock代码段。
同一时间,两个线程一起跑同一句SQL,而且还操作同一张表,那么,肯定就会有问题了。
全部回答
- 1楼网友:孤伤未赏
- 2021-02-09 10:32
当我们在程序中运用到多线程的时候,那么你必须要考虑的就是各线程抢占资源的问题,不能让同一时间多个线程去抢一个资源,比如你两个线程同时去操作sql,就会造成有脏读数据或者查不到数据,或者查的是脏数据,那么避免这个的办法可以从两边入手,C#程序里加入lock代码断,在里面执行查询sql,这样的话在再一时间,就不会有多个线程同时去执行sql,还可以在数据库中建立一些锁,执行的时候可将锁锁住,但对数据库加锁请小心 加锁和解锁,否则会锁死数据库造成系统崩溃都是有可能 的!
- 2楼网友:不傲怎称霸
- 2021-02-09 09:39
可以用线程的 join方法 等待线程结束。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯