我無法確定死鎖的兩個條件是如何彼此不同的。等待和等待看起來像循環等待的子集。持有和等待不同於循環等待?
0
A
回答
1
保持和等待和循環等待是死鎖發生時所滿足的條件。
這意味着,如果這兩個條件都不滿足,你會不會死鎖。
保持並等待該進程持有到一個資源/秒,其可以(或者可以不)可通過其它處理所需的條件的狀態。這裏關鍵的一點是,這個過程持有這些資源,並不會釋放它們,直到它獲得所請求的資源(被其他進程佔用)。
圓形等待條件指出存在的,其中每個進程等待其被保持通過另一資源的資源處理的鏈。在這種情況下,它並不一定意味着進程正在等待其他進程請求的資源,而是所有進程正在等待另一進程正在佔用的資源。
請參閱以下文章瞭解更多信息:
http://www.cs.yale.edu/homes/aspnes/pinewiki/Deadlock.html http://nob.cs.ucdavis.edu/classes/ecs150-1999-02/dl-cond.html
0
對於保持和等待,必須存在被控股已經分配給它的資源,同時等待當前正額外資源的處理由其他進程持有。而循環等待發生系統中的進程形成一個循環列表或鏈,列表中的每個進程都等待列表中下一個進程擁有的資源。要注意的
點:鏈(循環列表)的形成是必須爲循環等待這是不符合保持和等待的情況。
參考: http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/deadlockCondition.htm
相關問題
- 1. 如何等待while循環?
- 2. 使用while循環等待?
- 3. NodeJS循環等待回調
- 4. 等待工作不等待
- 5. Asyncio,等待和無限循環
- 6. 等待沒有循環的條件Python
- 7. jQuery while循環不等待動畫
- 8. Javascript超時循環不會等待
- 9. 流利的等待和WebDriver等待
- 10. 等待/異步任務不等待
- 11. DART異步/等待不等待
- 12. 關於等待和notifyAll的
- 13. 關於等待和通知
- 14. Process.WaitForExit不等待
- 15. setTimeout()不等待
- 16. Task.WhenAll不等待
- 17. file_get_contents不等待
- 18. 等待用戶在循環中觸摸
- 19. Synchronous forEach循環(等待它結束)
- 20. Bash while循環等待mysql導入
- 21. SSIS For循環 - 等待文件上
- 22. 等待循環中的嵌套承諾
- 23. 等待一個jQueryanimation內for循環
- 24. for循環..等待AJAX請求
- 25. GCC優化忙等待的死循環
- 26. 等待jquery .each()循環完成
- 27. 使用等待異步的循環。
- 28. 如何等待'for'循環返回
- 29. 循環等待功能完成node.js
- 30. 在循環jquery中等待ajax返回
在我看來循環等待是保留的子集和等待! –