什么是“死鎖”和“饑餓”
2025-12-06
死鎖(deadlock) 指的是兩個(gè)或者兩個(gè)以上的進(jìn)程相互競爭系統(tǒng)資源,導(dǎo)致進(jìn)程永久阻塞。 例如: 1、桌子上有慢慢一桌子的美食,但是只有一雙筷子。 2、甲拿了一根,然后在找另一根。 3、乙拿了一根,然后也在找另一根。 4、因?yàn)樗麄兌颊莆樟藢Ψ奖匦璧馁Y源,導(dǎo)致最后他們倆誰都吃不到美食。 饑餓(starvation) 指的是等待時(shí)間已經(jīng)影響到進(jìn)程運(yùn)行,此時(shí)成為饑餓現(xiàn)象。如果等待時(shí)間過長...
死鎖是啥
2025-11-01
1. 死鎖是指兩個(gè)或多個(gè)進(jìn)程在互相請求對方占用的資源,而導(dǎo)致彼此都無法繼續(xù)執(zhí)行的一種狀態(tài)。 2. 死鎖的原因是資源競爭和進(jìn)程間的相互等待。當(dāng)多個(gè)進(jìn)程同時(shí)請求同一資源時(shí),如果資源被占用,那么請求進(jìn)程就會(huì)被阻塞等待,而此時(shí)如果其他進(jìn)程也在等待該進(jìn)程占用的資源,就會(huì)形成死鎖。 3. 死鎖是計(jì)算機(jī)系統(tǒng)中常見的問題,解決死鎖的方法包括資源預(yù)分配、死鎖檢測和死鎖恢復(fù)等。同時(shí)在編寫程序時(shí)...