1

我知道循环请求会导致死锁,但我想知道以下是否也会导致死锁......

资源图

我不清楚,但我也认为如果“由于两个或多个程序/进程在完成操作之前都需要对方的响应而导致失败或无法继续”

这是否意味着如果进程 2 和进程 4 都需要 R7,这将导致死锁?(多个进程请求的资源 R5 和 R4 相同)

4

1 回答 1

1

使用图片中的符号最简单的死锁图是当两个进程各自需要相同的两个资源时。例如,如果在您的示例进程中P2依赖于 resource R5,则可能会出现死锁。假设两个P2P4每个请求都R7R5,即P2锁定R7P4锁定R5。then P2is waitingR5P4is waiting for R7,即各自在等待对方释放锁。这是一个最小的例子。

在您的情况下,没有这种可能性,因为两个不同的进程从未共享过两个资源。唯一有问题的是P4。如果与P2or发生争用P7,则要么P4先执行(没问题),要么先执行另一个进程,解锁资源并允许P4执行(也没问题)。

于 2012-11-29T15:32:01.877 回答