操作方法
在软件领域中,线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避免。
使用事务时,尽量缩短事务的逻辑处理过程,及早提交或回滚事务; (细化处理逻辑,执行一段逻辑后便回滚或者提交,然后再执行其它逻辑,直到事物执行完毕提交)
设置死锁超时参数为合理范围,如:3分钟-10分种;超过时间,自动放弃本次操作,避免进程悬挂;
在正式版本之前,对所有的脚本和SP(Storage Procedure)都要仔细测试,也就是说,在正式上线前,需要经过严格的逻辑测试
对于SQL SERVER数据库,一般不要修改SQL SERVER事务的默认级别,而且不推荐强行加锁
另外,就是要养成良好的编程习惯,做到能优化程序,检查并避免死锁现象出现;在SQL SERVER中,针对所有的SP都要有错误处理(通过@error)