银行家算法的问题
来源:6-8 作业管理之死锁

慕哥2296688
2019-09-04
Dijkstra提出的银行家算法属于
A)死锁预防
B)死锁避免
C)死锁检测
D 死锁解除
一道很常见的银行家算法辨析题,我不明白为什么选择B。
为什么说它可以避免死锁,而不是预防死锁?这两个词到底有什么区别?
避免死锁算法和预防死锁的算法又有什么区别?
写回答
1回答
-
咚咚呛
2019-09-04
这个点确实需要注意一下,但是转过头一想感觉也有点背书式了,按照自己的理解说明一下,有点绕口。
所谓死锁预防,主要是从离散数学,或者是数理逻辑上去考虑的,我们知道死锁有四个必要条件,只要满足这四个条件,死锁一定发生,那么只要破坏其中一个条件,就不构成死锁了。因为破坏了必要条件,所以不造成死锁,那么作为不发生死锁的前置条件,就是预防。
而死锁避免,则不是通过破坏这四个必要条件去解决死锁的,他是在运行过程中通过一定的策略不让死锁发生,这就算避免。
032020-02-28
相似问题