Yak*_*kov 3 algorithm parallel-processing concurrency synchronization deadlock
是否会发生互斥算法不能保持死锁自由属性,但它能维持饥饿自由吗?
谢谢
new*_*int 11
饥饿自由度可以被定义为:无论什么过程p,每次调用acquire_mutex()由issused p最终终止.或者任何试图进入关键部分的过程最终都会进入关键部分.
死锁自由:不管什么时候Ť,如果前Ť一个或几个工艺已经调用的操作acquire_mutex(),其中没有在时刻终止其调用Ť,然后有一个时间T">Ť在其中,已调用的进程acquire_mutex()终止其调用.[Raynal,并发编程:算法,原理和基础]或者如果进程试图进入关键部分,那么某个进程(不是必需的进程)最终将进入临界区.或至少一个,总是赢.
请注意,死锁自由是说某些进程会取得进展,但其他进程可能会陷入困境(挨饿),试图进入关键部分.一开始听起来很奇怪,但事实并非如此:并非所有线程都被卡住,因此没有死锁,即死锁自由.
另一方面,饥饿自由说每个试图进入关键部分的过程最终都会这样做.没有任何进程会挨饿.
这使得饥饿自由比死锁自由更强大.
回答你的问题是否定的.