1. 程式人生 > >【面試寶典 - 基礎篇 - Java 鎖機制】07 樂觀鎖的業務場景及實現方式

【面試寶典 - 基礎篇 - Java 鎖機制】07 樂觀鎖的業務場景及實現方式

樂觀鎖(Optimistic Lock):

  • 每次獲取資料的時候,都不會擔心資料被修改,所以每次獲取資料的時候都不會進行加鎖,但是在更新資料的時候需要判斷該資料是否被別人修改過。如果資料被其他執行緒修改,則不進行資料更新,如果資料沒有被其他執行緒修改,則進行資料更新。由於資料沒有進行加鎖,期間該資料可以被其他執行緒進行讀寫操作。

  • 比較適合讀取操作比較頻繁的場景,如果出現大量的寫入操作,資料發生衝突的可能性就會增大,為了保證資料的一致性,應用層需要不斷的重新獲取資料,這樣會增加大量的查詢操作,降低了系統的吞吐量。