简答题

什么是活锁?什么是死锁?

正确答案


如果事务Tl封锁了数据R,事务几又请求封锁R,于是几等待。几也请求封锁R,当Tl释放了R上的封锁之后系统首先批准了几的请求,几仍然等待。然后几又请求封锁R,当几释放了R上的封锁之后系统又批准了几的请求……几有可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。如果事务Tl封锁了数据Rl,几封锁了数据凡,然后Tl又请求封锁几,因几已封锁了几,于是Tl等待几释放几上的锁。接着几又申请封锁Rl,因Tl已封锁了Rl,几也只能等待Tl释放Rl上的锁。这样就出现了Tl在等待几,而几又在等待T}的局面,T}和几两个事务永远不能结束,形成死锁。

答案解析

相似试题
  • 请解释活锁和死锁的产生原因和现象?

    简答题查看答案

  • 对数据对象施加封锁,可能会引起活锁和死锁问题。预防死锁通常有()和()两种方法。

    填空题查看答案

  • 封锁可以解决数据的不一致性,但会带来死锁或者活锁

    判断题查看答案

  • 什么是死锁,产生死锁的原因和必要条件是什么?

    简答题查看答案

  • 死锁预防的基本思想是什么?死锁避免的基本思想是什么?

    简答题查看答案

  • 什么是死锁?产生死锁的四个必要条件是什么?

    简答题查看答案

  • 什么是死锁?产生死锁的四个必要条件是什么?

    简答题查看答案

  • 什么是死锁?如何避免发生死锁?

    简答题查看答案

  • 什么东西是死锁?请给出预防死锁的若干方法。

    简答题查看答案