1. 程式人生 > >程序的活鎖、死鎖、飢餓和阻塞

程序的活鎖、死鎖、飢餓和阻塞

死鎖:


解釋: 執行緒A或者B需要過獨木橋(使用該程序),而C還沒有走完(程序還在佔用),於是三方僵死;
         也可以是沒有C 的情況下,A和B互不禮讓僵死.
         A和B都認為自己優先順序較高應該使用該程序.
活鎖:

解釋:執行緒A和B都需要過橋(都需要使用程序),而都禮讓不走(那到的系統優先順序相同,都認為不是自己優先順序高),就這麼僵持下去.

餓死:

解釋:這是個獨木橋(單程序),橋上只能走一個人,B來到時A在橋上,B等待;
        而此時比B年齡小的C來了,B讓C現行(A走完後系統把程序分給了C),
        C上橋後,D又來了,B又讓D現行(C走完後系統把程序分個了D)
        以此類推B一直是等待狀態.

阻塞:



解釋:所有的程序都在睜著過獨木橋,結果一直處在爭執的狀態

 

 

感謝博主:http://f.dataguru.cn/thread-541686-1-1.html

同樣參考自博主的另一篇文章:https://blog.csdn.net/qq_29924795/article/details/72772251