天天看點

說一下CAS鎖機制?「建議收藏」

大家好,又見面了,我是你們的朋友全棧君。

1.CAS(Compare and Swap 比較并交換),是一種無鎖算法,當多個線程嘗試使用CAS同時更新同一個變量時,隻有其中一個線程能更新變量的值,而其他線程都失敗,失敗的線程并不會挂起,而是被告知這次競争中失敗,并可以再次嘗試。

2.CAS算法涉及到三個操作數

a.需要讀寫的記憶體位置(V)

b.進行比較的預期原值(A)

c.拟寫入的新值(B)

3.如果記憶體位置V的值與預期原值A相比對,那麼處理器會自動将該位置值更新為新值B,否則處理器不做任何操作。

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/126784.html原文連結:https://javaforall.cn