複製鏈接
請複製以下鏈接發送給好友

兩階段封鎖

鎖定
兩階段封鎖是在對任何數據進行讀、寫操作之前,事務首先要獲得對該數據的封鎖
中文名
兩階段封鎖
屬    性
數據庫術語

兩階段封鎖協議內容

1.在釋放一個封鎖之後,事務不能再獲得任何其他封鎖。
2. “兩段”鎖的含義
事務分為兩個階段:
第一階段是獲得封鎖,也稱為擴展階段;
第二階段是釋放封鎖,也稱為收縮階段。
例:
事務1的封鎖序列:
Slock A ... Slock B ... Xlock C ... Unlock C ... Unlock B ... Unlock A;
事務2的封鎖序列:
Slock A ... Unlock A ... Slock B ... Xlock C ... Unlock C ... Unlock B;
事務1遵守兩段鎖協議,而事務2不遵守兩段協議。
並行執行的所有事務均遵守兩段鎖協議,則對這些事務的所有並行調度策略都是可串
行化的。
所有遵守兩段鎖協議的事務,其並行執行的結果一定是正確的。事務遵守兩段鎖協議
可串行化調度的充分條件,而不是必要條件。可串行化的調度中,不一定所有事務
都必須符合兩段鎖協議。

兩階段封鎖兩段鎖協議

一次封鎖法要求每個事務必須一次將所有要使用的數據全部加鎖,否則就不能繼續執
行,因此一次封鎖法遵守兩段鎖協議,但是兩段鎖協議並不要求事務必須一次將所有
要使用的數據全部加鎖,因此遵守兩段鎖協議的事務可能發生死鎖。

兩階段封鎖協議功能

兩類不同目的的協議
兩段鎖協議:保證併發調度的正確性
三級封鎖協議:在不同程度上保證數據一致性
遵守第三級封鎖協議必然遵守兩段協議