線程飢餓


Reference: https://time.geekbang.org/column/article/85702

 

飢餓:線程因無法訪問所需資源而無法執行下去的情況。

 

“不患寡,而患不均”,如果線程優先級“不均”,在CPU繁忙的情況下,優先級低的線程得到執行的機會很小,就可能發生線程“飢餓”;持有鎖的線程,如果執行的時間過長,也可能導致“飢餓”問題。

 

解決“飢餓”問題的方案很簡單,有三種方案:一是保證資源充足,二是公平地分配資源,三就是避免持有鎖的線程長時間執行。這三個方案中,方案一和方案三的適用場景比較有限,因為很多場景下,資源的稀缺性是沒辦法解決的,持有鎖的線程執行的時間也很難縮短。倒是方案二的適用場景相對來說更多一些。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM