樂觀鎖及悲觀鎖

原文參見:http://blog.csdn.net/hongchangfirst/article/details/26004335

悲觀鎖(Pessimistic Lock), 顧名思義,就是很悲觀,每次去拿數據的時候都認為別人會修改,所以每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會block直到它拿到鎖。傳統的關系型數據庫里邊就用到了很多這種鎖機制,比如行鎖,表鎖等,讀鎖,寫鎖等,都是在做操作之前先上鎖。

樂觀鎖(Optimistic Lock), 顧名思義,就是很樂觀,每次去拿數據的時候都認為別人不會修改,所以不會上鎖,但是在更新的時候會判斷一下在此期間別人有沒有去更新這個數據,可以使用版本號等機制。樂觀鎖適用于多讀的應用類型,這樣可以提高吞吐量,像數據庫如果提供類似于write_condition機制的其實都是提供的樂觀鎖。

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

推薦閱讀更多精彩內容

  • 一分鐘教你知道樂觀鎖和悲觀鎖的區別 悲觀鎖(Pessimistic Lock), 顧名思義,就是很悲觀,每次去拿數...
    php紅薯閱讀 4,570評論 2 58
  • 樂觀鎖和悲觀鎖是并發控制主要采用的技術手段。為什么有了事務這東西,還需要樂觀鎖悲觀鎖? 比如搶票,假設余票只有1張...
    米刀靈閱讀 512評論 0 0
  • 悲觀鎖 悲觀鎖(Pessimistic Lock),顧名思義,就是很悲觀,每次去拿數據的時候都認為別人會修改,所以...
    FX_SKY閱讀 70,466評論 18 106
  • 本質: 悲觀鎖和樂觀鎖都是一種概念和認知。數據庫有java語言都有對應的實現方式。 悲觀鎖 悲觀鎖(Pessimi...
    極簡架構閱讀 838評論 0 3
  • 聲明:本欄目所使用的素材都是凱哥學堂VIP學員所寫,學員有權匿名,對文章有最終解釋權;凱哥學堂旨在促進VIP學員互...
    凱哥學堂閱讀 216評論 0 0