鎖協議
排他鎖
共享鎖
死鎖
餓死
兩階段鎖協議
兩段鎖協議:
數據庫的兩段鎖協議是指所有事務必須分兩個階段對數據項進行加鎖和解鎖
1.擴展階段
在對任何數據項的讀、寫之前,要申請並獲得該數據項的封鎖。
2.收縮階段
每個事務中,所有的封鎖請求必須先於解鎖請求。
破解死鎖:同時回滾兩個事務
嚴格兩階段鎖
強兩階段鎖
兩段鎖協議與防止死鎖的一次封鎖法的區別:
一次封鎖法要求事務必須一次對所有要使用到的數據項進行加鎖,否則不能繼續運行。
顯然,一次封鎖法符合兩段鎖協議,但是兩段鎖協議並不要求一次就要對所有需要用到的數據項進行加鎖,因此遵守兩段鎖協議的事務有可能死鎖
鎖轉換
鎖的獲取
鎖管理器