如何解决不同线程对同一个表的INSERT和UPDATE操作的死锁
1个回答
展开全部
我们提供了2个公共方法分别做insert和update 他们被n个线程调用
其实想想,一个线程在做INSERT时,肯定是锁表的,那另一个线程跑到对同一个表UPDATE时肯定得不到控制权,但是不希望UPDATE总等着INSERT做完毕才开始执行,希望INSERT 和UPDATE能像时间片轮转一样不要总等着对方。
to litdong
不太明白你的意思,“在什么环境下写的库”?我们是用C#写的方法,分别对同一表进行INSERT 和 UPDATE,而这两个方法可能由不同线程调用
to wellsl
我想数据库应该只有ORACLE和SQL SERVER 等等不同工具的区别吧,我们用的是ORALCE
其实想想,一个线程在做INSERT时,肯定是锁表的,那另一个线程跑到对同一个表UPDATE时肯定得不到控制权,但是不希望UPDATE总等着INSERT做完毕才开始执行,希望INSERT 和UPDATE能像时间片轮转一样不要总等着对方。
to litdong
不太明白你的意思,“在什么环境下写的库”?我们是用C#写的方法,分别对同一表进行INSERT 和 UPDATE,而这两个方法可能由不同线程调用
to wellsl
我想数据库应该只有ORACLE和SQL SERVER 等等不同工具的区别吧,我们用的是ORALCE
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询