什么是“死鎖”和“饑餓”
發(fā)布時間:2025-12-06 | 來源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
死鎖(deadlock)
指的是兩個或者兩個以上的進程相互競爭系統(tǒng)資源,導致進程永久阻塞。
例如:
1、桌子上有慢慢一桌子的美食,但是只有一雙筷子。
2、甲拿了一根,然后在找另一根。
3、乙拿了一根,然后也在找另一根。
4、因為他們都掌握了對方必需的資源,導致最后他們倆誰都吃不到美食。
饑餓(starvation)
指的是等待時間已經(jīng)影響到進程運行,此時成為饑餓現(xiàn)象。如果等待時間過長,導致進程使命已經(jīng)沒有意義時,稱之為“餓死”。
例如:
1、小明要告訴媽媽明天開家長會。
2、小明媽媽因為工作太忙,在公司加班,沒有回家。
3、于是第二天,小明的媽媽就錯過了家長會。(“餓死”)
4、其實小明的媽媽沒有出現(xiàn)“死鎖”。只是小明的優(yōu)先級過低,不如工作重要。