3

我理解了发生死锁的四个必要条件,互斥,保持等待,不抢占,循环等待。但是,是否存在四个条件都为真且系统不处于死锁状态的情况呢?

换句话说,如果发生死锁,则存在四个条件。但是,如果这四个条件都存在,就一定会出现死锁吗?什么是四个条件都存在并且系统不处于死锁状态的例子?

4

2 回答 2

2

这些是必要条件但不是充分条件,因此几乎可以肯定在某些情况下这些条件为真,但不会发生死锁。

满足这些条件的系统仅具有死锁状态——可能有一条执行路径永远不会达到这些死锁状态之一。我正在努力综合一个例子,但幸运的是有人为我做了

于 2013-06-07T01:08:50.473 回答
0

您可以通过绘制优先图来调查是否存在死锁,如果图中存在循环,则会出现死锁。您也可能不幸获得活锁。如果图有一个循环,那么这个过程就不能被序列化。因此,要确定一个过程,请绘制其优先图并检查优先图是否包含循环。

于 2013-06-07T01:14:49.360 回答