一分鐘理解樂觀鎖與悲觀鎖

悲觀鎖:很悲觀,認爲每個數據庫操作都想修改數據,因此所有數據庫操作(增刪查改)都加鎖。比較安全,能夠實時反映完整數據,但是性能較低。
樂觀鎖:很樂觀,認爲每個數據庫操作都不會衝突(同一時刻不會有另一個線程進行數據庫修改操作)。於是就不加鎖了,但是簡單的這樣實現肯定會出問題(萬一同一時刻真有另一個線程進行修改操作呢),於是在每次進行數據更新操作時加鎖,判斷一下此次更新是否只有我一個人操作。較悲觀鎖性能有一定提升,不能解決髒數據問題。
二者沒有絕對的好壞,最好的選擇方案還是根據具體的業務情況進行選擇,如果衝突較多,則採取悲觀鎖,如果查詢操作較多,採取樂觀鎖較好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章