热门问题
时间线
聊天
视角
兩階段鎖
来自维基百科,自由的百科全书
Remove ads
在資料庫和事務處理中,兩階段鎖 (Two-phase locking,2PL) 是一種保證衝突可串行化的悲觀並發控制方法。[1][2]它也是資料庫事務調度 (歷史記錄) 的結果集的名稱。該協議使用事務對數據應用的鎖,這可能會阻止 (解釋為停止信號) 其他事務在事務生命周期內訪問同一數據。
根據兩階段鎖(2PL)協議,鎖的應用和解除分為兩個階段:
- 擴展階段:在此階段中,鎖被獲取,且不釋放任何鎖。
- 收縮階段:在此階段中,鎖被釋放,且不再獲取任何鎖。
基本協議中使用兩種類型的鎖:共享鎖和獨占鎖。對基本協議的改進可能會使用更多類型的鎖。由於使用了阻塞進程的鎖,2PL、S2PL 和 SS2PL 可能會因兩個或多個事務的相互阻塞而導致死鎖。
參考文獻
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads