出現死鎖必須滿足以下幾個條件:
1.互斥條件:該進程擁有的資源,其他進程只能等待其釋放。
2.不剝奪條件:該進程擁有的資源只能由它自己來釋放。
3.請求和保持條件:請求其他的資源,同時自己擁有的資源又不願意放手。
4.循環等待:A等待B持有的資源,B等待A持有的資源,相互等待對方釋放。
總結一下:
多個進程之間對資源的相互競爭,造成無限時長等待,就是造成死鎖。
死鎖解決辦法:
我們可以通過對鎖加時效性,或者死鎖檢測來處理。
出現死鎖必須滿足以下幾個條件:
1.互斥條件:該進程擁有的資源,其他進程只能等待其釋放。
2.不剝奪條件:該進程擁有的資源只能由它自己來釋放。
3.請求和保持條件:請求其他的資源,同時自己擁有的資源又不願意放手。
4.循環等待:A等待B持有的資源,B等待A持有的資源,相互等待對方釋放。
總結一下:
多個進程之間對資源的相互競爭,造成無限時長等待,就是造成死鎖。
死鎖解決辦法:
我們可以通過對鎖加時效性,或者死鎖檢測來處理。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。