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

我不清楚,但我也认为如果“由于两个或更多的程序/进程在完成操作之前都需要对方的响应而导致的失败或无法继续”
这是否意味着如果进程2和进程4都需要R7,这将导致死锁?(多个进程请求的资源R5和R4也是如此)
发布于 2012-11-29 23:32:02
使用图片中的符号,最简单的死锁图是当两个进程各自需要相同的两个资源时。例如,如果在您的示例进程中,P2依赖于资源R5,则存在死锁的可能性。假设P2和P4分别请求R7和R5,P2锁定R7,P4锁定R5。然后P2在等待R5,P4在等待R7,也就是说,两者都在等待对方释放锁。这是一个最小的例子。
在您的情况下,没有这样的可能性,因为两个不同的进程永远不会共享两个资源。唯一有问题的是P4。如果与P2或P7有争用,那么P4将首先执行(没有问题),或者其他进程先执行,解锁资源,然后允许P4执行(也没有问题)。
https://stackoverflow.com/questions/13625693
复制相似问题