死锁产生的原因:
封锁可以引起死锁。比如事务T1封锁了数据A,事务T2封锁了数据B。T1又申请封锁数据B,但因B被T2封锁,所以T1只能等待。T2又申请封锁数据A,但A已被T1封锁,所以也处于等待状态。这样,T1和T2处于相互等待状态而均不能结束,这就形成了死锁。解决死锁的常用方法有如下三种:
(1)要求每个事务一次就要将它所需要的数据全部加锁。
(2)预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。
(3)允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务能继续运行下去。
(简答题)
叙述数据库中死锁产生的原因和解决死锁的方法。
正确答案
答案解析
略
相似试题
(简答题)
在数据库系统中,预防和解决死锁的常用方法是什么?
(简答题)
什么是死锁,产生死锁的原因和必要条件是什么?
(单选题)
死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的四个必要条件之一。下列方法中破坏了“循环等待”条件的是()。
(简答题)
请解释活锁和死锁的产生原因和现象?
(判断题)
封锁可以解决数据的不一致性,但会带来死锁或者活锁
(简答题)
叙述产生死锁的必要条件。
(单选题)
下列解决死锁的方法中,属于死锁避免策略的是()。
(单选题)
下列解决死锁的方法中,属于死锁预防策略的是()。
(单选题)
产生死锁的原因概括起来有二个,其中一个是()。