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