天天看點

java 之産生死鎖的必要條件

1.死鎖 怎麼去打破。

1.死鎖發生的原因:是多個程序并發請求 争奪系統資源而産生的互相等待情況.

2.本質問題:1.系統資源有限。2.程序推進順序不合理。

3.死鎖産生的4個必要條件:

3.1.程序互斥 資源配置設定給程序之後,其他的程序都不能使用。

3.2.占有資源且正在等待  占有資源,等待其他程序釋放資源占用。

3.3.不可搶占資源   程序一直在等待,不能直接搶占其他線程占用的資源。

3.4.循環等待   A->B,B->C,C->A。
           

4.從上面的4個必要條件入手,就可以打破死鎖了,隻要是不滿足四個必要條件就可以破解。

繼續閱讀