超过两个进程的死锁,可能吗?

时间:2019-05-24 06:43:48

标签: deadlock

关于死锁的情况,我了解它对于2个进程是如何工作的,并且至少需要2个进程才能发生死锁。

  

构造一个示例,以表明当进程数为3、4 ... n时,可能会发生死锁。

构造示例的任何提示吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

死锁也可能在两个以上的进程中发生。如果更多的进程已锁定释放先前进程所拥有的其他资源所需的相应资源,则这将导致死锁。

请参考以下示例:

https://www.geeksforgeeks.org/operating-system-process-management-deadlock-introduction/

如果增加依赖资源的数量,则会发生循环依赖,并且在N个进程(超过2个)中将发生死锁。

希望这会有所帮助!

答案 1 :(得分:1)

如果一个进程需要另一个进程的锁定,而另一个进程又锁定,则两个线程处于死锁状态。当拥有n threads时,如果存在循环依赖关系,您仍然可以永远阻塞所有线程。

线程1需要线程2的锁,需要线程3的锁...需要线程n的锁需要线程1的锁。