## CAS和ABA 问题
package cn.qqjx.thread.c_018;
/*
* CAS和ABA 问题
* @Auther wangpeng
* @Date 2021/1/8
*/
public class CASandABA {
/*
* CAS(无锁优化 自旋锁)
* CAS Compare And Set
*
* cas(V,Expected,NewValue)
* V 要修改的对象 Expected 期待的值 NewValue 新值
* if (V==Expected)
* V = NewValue
* else
* try again or fail
*/
/*
* ABA 问题
* 在CAS过程中 值 由 A ----> B -----> A
* 解决方法 每次修改的时候 加一个版本号 修改一次 版本+1
* cas(V,Expected,NewValue,version)
*/
}