1 CAS
compare and swap的縮寫,詳見樂觀鎖和悲觀鎖。
2 ABA
就是說,我擷取的舊值是A,然後被人修改成了B,但是又被人修改成了A,我就認為并沒有修改,更新記憶體。
解決辦法,給每次的修改加一個version,也就是說,再弄一個變量,這個變量表示version。我compare的時候,不光要compare值,還compare version。
二者都不變才認為沒有變化。
1 CAS
compare and swap的縮寫,詳見樂觀鎖和悲觀鎖。
2 ABA
就是說,我擷取的舊值是A,然後被人修改成了B,但是又被人修改成了A,我就認為并沒有修改,更新記憶體。
解決辦法,給每次的修改加一個version,也就是說,再弄一個變量,這個變量表示version。我compare的時候,不光要compare值,還compare version。
二者都不變才認為沒有變化。