活鎖和死鎖有何區(qū)別 活鎖和死鎖是什么意思???
活鎖和死鎖是什么意思???livelock和死鎖的區(qū)別在于,livelock中的實(shí)體不斷更改其狀態(tài),即所謂的“l(fā)ive”,而死鎖中的實(shí)體則在等待livelock自行解鎖,而死鎖則無(wú)法。死鎖,活鎖,饑餓的
活鎖和死鎖是什么意思???
livelock和死鎖的區(qū)別在于,livelock中的實(shí)體不斷更改其狀態(tài),即所謂的“l(fā)ive”,而死鎖中的實(shí)體則在等待livelock自行解鎖,而死鎖則無(wú)法。
死鎖,活鎖,饑餓的區(qū)別是什么?
當(dāng)某些進(jìn)程被其他進(jìn)程擁有的資源請(qǐng)求阻止時(shí),會(huì)發(fā)生死鎖。
另一方面,livelock不會(huì)被阻止,但會(huì)不斷檢測(cè)到一個(gè)永遠(yuǎn)不可能為真的條件。除了進(jìn)程本身?yè)碛械馁Y源之外,處于livelock狀態(tài)的進(jìn)程將繼續(xù)消耗寶貴的CPU時(shí)間。
最后,由于其他更高優(yōu)先級(jí)的進(jìn)程不斷請(qǐng)求相同的資源,因此進(jìn)程處于饑餓狀態(tài)。與死鎖或活鎖不同,饑餓是可以解除的。例如,當(dāng)其他高優(yōu)先級(jí)進(jìn)程終止而沒(méi)有高優(yōu)先級(jí)進(jìn)程到達(dá)時(shí)。
什么是死鎖,死鎖的原因是什么?
當(dāng)事務(wù)T1阻止數(shù)據(jù)R1時(shí),T2阻止數(shù)據(jù)R2,然后T1請(qǐng)求阻止數(shù)據(jù)R2。因?yàn)門(mén)2阻塞數(shù)據(jù)R2,所以T1等待T2釋放對(duì)數(shù)據(jù)R2的鎖定,然后T2應(yīng)用于塊數(shù)據(jù)R1。因?yàn)門(mén)1阻塞數(shù)據(jù)R1,T2只能等待T1解除對(duì)數(shù)據(jù)R1的鎖定。這樣,T1等待T2,T2等待T1。T2和T1永不改變,可以結(jié)束,形成死鎖。(簡(jiǎn)而言之,相互占有和等待形成僵局)