(简答题)
请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
正确答案
数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。
答案解析
略
相似试题
(简答题)
当系统出现死锁时,请给出死锁恢复的步骤
(简答题)
什么东西是死锁?请给出预防死锁的若干方法。
(简答题)
死锁产生的必要条件是什么?死锁的预防、避免和检测各有什么不同?各举一种相应的方法。
(填空题)
在操作系统设计时确定资源分配算法, 以消除发生死锁的任何可能性, 这种解决死锁的方法是()
(简答题)
写一个无死锁、无饥饿的哲学家进餐问题的解。 5个哲学家围坐在圆桌边。每人前面有一支筷子。当一个哲学家思考时,他不影响其他同事。一段时间后,他需要用餐了,而且试图拿到最靠近他的两支筷子。当他拿到两支筷子后,就开始用餐。用毕放下筷子,重新开始思考。 死锁:当5个人同时拿自己左边的一支筷子。再要拿右边的筷子时。他们的要求会被无休止的推迟。这就发生了死锁。 饥饿:当5个人同时拿自己左边的一支筷子,看到右边不可用。同时放下自己左边的一支筷子。等一会,又同时拿起右边的筷子。这样不停忙着。但都无法进展。就发生了饥饿。
(简答题)
什么是死锁?如何避免发生死锁?
(简答题)
死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?
(多选题)
检测死锁的方法有()
(填空题)
检测死锁的方法有()、()。