事務管理基礎:兩段鎖協議、活鎖、死鎖相關知識整理

 

 

1、兩段鎖協議(Two-phase Locking Protocol) 

兩段鎖協議是指對任何數據進行讀寫之前必須對數據進行加鎖;在釋放一個封鎖之後,事務不再申請和獲得任何其他封鎖。

  • 兩段鎖協議中兩段的含義:事務分爲兩個階段,第一個獲得封鎖稱爲擴展階段;第二階段爲釋放階段,也稱爲收縮階段。

  • 兩段鎖協議的目的:保證併發調度的正確性。

  • 兩段鎖協議與可串行化:如果事務都遵循兩段鎖協議,那麼它們的併發調度是可串行化。兩段鎖是可串行化的充分條件,但不是必要條件。如果事務不遵循兩段鎖協議,它們的併發調度有可能不是可串行化的。

  • 說明:採用兩段鎖協議會有可能產生死鎖的情況,因爲每個事務不能及時解除被它封鎖的數據,可能會導致多個事務互相要求對方已封鎖的數據而產生死鎖。

2、活鎖、死鎖介紹 

  • 活鎖:主要是指事務T1封鎖了數據R,事務T2請求封鎖數據R,於是T2等待R的封鎖被釋放。當T1釋放數據R上的封鎖後,系統批准了T3事務的請求,於是T2仍然等待。如果T3釋放後,又批准了T4的請求,那麼T2可能會永遠等待的現象。

  • 死鎖:主要是指兩個以上的事務分別請求封鎖對方已經封鎖的數據,導致長期等待而無法繼續運行下去的現象。

 

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章