CAS和ABA

1 CAS

compare and swap的缩写,详见乐观锁和悲观锁。

2 ABA

就是说,我获取的旧值是A,然后被人修改成了B,但是又被人修改成了A,我就认为并没有修改,更新内存。

解决办法,给每次的修改加一个version,也就是说,再弄一个变量,这个变量表示version。我compare的时候,不光要compare值,还compare version。

二者都不变才认为没有变化。

posted @ 2018-02-06 15:02  PhoenixTree(梧桐树)  阅读(169)  评论(0编辑  收藏  举报