2
A
回答
5
没有任何合理的饥饿定义包括死锁。
8
饥饿自由度可以被定义为:无论过程p,通过p issused的acquire_mutex()
每次调用最终终止。或者任何试图进入临界区的进程最终都会进入临界区。
死锁自由:如果之前 已调用的操作acquire_mutex()
和它们都没有在时间终止了 调用牛逼牛逼一个或几个过程,再有就是不管什么时候牛逼, [Raynal,Concurrent Programming:Algorithms,Principles,and Foundations] 或者如果进程试图进入临界区,那么某个进程不是必要的,而是一些进程,而不是必需的同一个,最终他将进入关键部分。或者至少一个,总是赢。
请注意,死锁自由是说有一些进程将取得进展,但其他人可能会卡住(饥饿),试图进入关键部分。听起来很奇怪,但事实并非如此:并非所有线程都被卡住了,所以没有死锁,即无死锁。
在另一方面,饥饿的自由是说,每过程试图进入临界区,最终将这样做。将不会有饥饿的进程。
这使得饥饿自由比死锁自由更强大的属性。
回答你的问题是否。
相关问题
- 1. 饥饿与upgrade_lock
- 2. 是“线程饥饿死锁”在这里发生的
- 3. Rails线程饥饿
- 4. 饥饿和线程
- 5. DB连接饥饿
- 6. 什么是饥饿?
- 7. 如果发生进程饥饿,是否意味着会出现死锁?
- 8. 了解饥饿自由和无等待方法
- 9. 饥饿的Bukkit事件?
- 10. Winforms饥饿控制失效
- 11. Android资源饥饿操作
- 12. 如何创建公平的锁解决java中的饥饿?
- 13. 如果我们证明没有饥饿,我们不需要证明没有死锁或活锁(进展)?
- 14. 几个生产者,一个消费者:避免饥饿
- 15. 我怎样才能避免android背景过程饥饿?
- 16. 操作系统中活锁与饥饿之间的差异(如果有的话)
- 17. WaitForMultipleObjects饿死
- 18. 避免螺旋锁死锁
- 19. 快乐,饥饿,能量状态
- 20. 春季调度同步方法饥饿
- 21. Android OpenSLES缓冲区饥饿问题
- 22. Jenkins在CloudBees上执行饥饿
- 23. pthread_cond_signal和可能的线程饥饿
- 24. Java中的“无饥饿”实现
- 25. Java线程产生/饥饿问题
- 26. CPU饥饿检测因为MQ异常
- 27. 在Apache公共池中处理饥饿
- 28. 如何模拟C#线程饥饿
- 29. CakePHP的:ID饥饿驱使我坚果
- 30. 解决方案没有饥饿也解决方案没有死锁?反之亦然?
你对饥饿的定义是什么? – johannes