簡體   English   中英

您會選擇使用悲觀鎖定的真實示例是什么?

[英]What is a real world example where you would choose to use pessimistic locking?

我已經閱讀了很多關於何時使用樂觀鎖和悲觀鎖的文章,我的基本理解是:

  • 樂觀鎖定更具可擴展性,因此如果可能,可能會使用它
  • 當不允許並發更新時使用悲觀鎖

我還沒有找到任何有用的例子來說明何時選擇悲觀鎖定是明智的(似乎樂觀鎖定通常是首選)。

如果有人可以回答一個特定的例子會非常有幫助:假設我們有一個信用卡/賬戶表,我們想要授權交易。 完整性非常重要,我不明白為什么允許並發更新會有用。 這是我們將使用悲觀鎖定的示例嗎?

這幾乎是過去問題的重復: 樂觀與悲觀鎖定

悲觀鎖定適用於您想要保證以原子方式鎖定多個資源的情況。 這有助於避免死鎖。

樂觀鎖依賴於非原子鎖,從某種意義上說,您可能需要在事務期間鎖定多個資源,如果您樂觀地獲取鎖,則一次執行一個,因此存在與其他並發相關的競爭條件交易。

悲觀鎖也有一些風險。 您可能會不必要地鎖定某些資源,如果事實證明您根本不需要鎖定它們。 這可能取決於您的事務邏輯,但您必須將它們鎖定為原子鎖請求的一部分,以防萬一您確實需要它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM