2012-05-31 23 views

回答

2

當兩個進程競爭相同的資源時,會發生死鎖,但會導致僵局。例如,A鎖定X,然後嘗試鎖定Y,而B鎖定Y並嘗試鎖定X.關鍵是兩個(或多個)進程正在阻止彼此做任何事情。

當存在重疊的共享鎖時會發生活鎖,這會阻止另一個進程獲取它所需的獨佔鎖。不同的是,所有這些重疊的過程繼續完成他們的工作,所以他們仍然是「活着的」 - 只有受害者被阻止,直到他們完成。這可能永遠都不夠繁忙,設計不佳的系統。 :-)你或許可以通過升級作家的死鎖優先級來克服這種情況,但我會說實話,這不是我經常見到的情況,而且我從6.5開始就使用SQL Server ...

相關問題