回答

5

没有任何合理的饥饿定义包括死锁。

8

饥饿自由度可以被定义为:无论过程p,通过p issused的acquire_mutex()每次调用最终终止。或者任何试图进入临界区的进程最终都会进入临界区。

死锁自由:如果之前 已调用的操作acquire_mutex()和它们都没有在时间终止了 调用牛逼牛逼一个或几个过程,再有就是不管什么时候牛逼, [Raynal,Concurrent Programming:Algorithms,Principles,and Foundations] 或者如果进程试图进入临界区,那么某个进程不是必要的,而是一些进程,而不是必需的同一个,最终他将进入关键部分。或者至少一个,总是赢。

请注意,死锁自由是说有一些进程将取得进展,但其他人可能会卡住(饥饿),试图进入关键部分。听起来很奇怪,但事实并非如此:并非所有线程都被卡住了,所以没有死锁,即无死锁。

在另一方面,饥饿的自由是说,每过程试图进入临界区,最终将这样做。将不会有饥饿的进程。

这使得饥饿自由比死锁自由更强大的属性。

回答你的问题是否。