死鎖、樂觀鎖、悲觀鎖

參考鏈接:http://blog.csdn.net/qwe6112071/article/details/50840870

1.死鎖

1.1產生過程:多事務鎖定一個資源->試圖去鎖定對方已鎖定的資源->多事務處于等待對方釋放鎖資源狀態,示意圖如下所示:



1.2 防止方法

合理安排表訪問順序

對事務要求不高,允許臟讀(不加鎖)

錯開多事務訪問相同資源的時間

使用盡可能低的事務隔離級別

使用短事務(操作盡可能少,時間盡可能短)

將大事務分解成多個小事務順序執行

2.悲觀鎖與悲觀鎖

悲觀鎖:顯式為數據加鎖,常見有如下兩種加鎖方式

顯式指定獨占鎖:select … for update

在數據庫增加表明狀態的LOCK字段

樂觀鎖:通過版本控制實現,示意圖如下所示:

通過樂觀鎖的版本控制,我們能夠更好地提高并發事務的性能。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容