java中的無鎖模式——CAS

CAS(Compare and Swap比較並交換)是一種比較特殊的併發策略,它包含三個參數:原內存值、預期值、新的值。當線程進行操作時先對比原內存值與預期值是否相同,若不同則表明數據發生過變動,當前線程放棄本次數據操作,但是允許再次嘗試。當多個線程同時操作時能夠保證只有一個線程操作成功,其他線程重新操作或放棄而不會被掛起。整個過程不涉及鎖競爭及線程調度帶來的開銷,性能更優並且天生對死鎖免疫。 j
相關文章
相關標籤/搜索