兩段鎖協(xié)議(Two-Phase Locking――2PL)是學(xué)習(xí)鎖協(xié)議的一個前置條件。慢慢地從淺入深。
兩段鎖協(xié)議規(guī)定所有的事務(wù)應(yīng)遵守的規(guī)則:
① 在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,首先要申請并獲得對該數(shù)據(jù)的封鎖。
② 在釋放一個封鎖之后,事務(wù)不再申請和獲得其它任何封鎖。
即事務(wù)的執(zhí)行分為兩個階段:
第一階段是獲得封鎖的階段,稱為擴(kuò)展階段。
第二階段是釋放封鎖的階段,稱為收縮階段。
若所有事務(wù)均遵守兩段鎖協(xié)議,則這些事務(wù)的所有交叉調(diào)度都是可串行化的。
見下圖:
協(xié)議圖示.gif
簡單的理解就是兩段鎖,就是分為兩個階段
第一階段 只能去申請鎖
第二階段 只能去釋放鎖