CAS ABA模式

CAS操作可能带来ABA问题,一个变量原本值是A。两个线程进行操作,线程1拿到A值,线程2,拿到A值,然后设置为B,然后再设置为A。这时候线程1,设置值,发现还是A,于是成功的设置值了。
解决的方式在值上加版本号,1A,2B,3A 。
jdk AtomicStampedReference 是解决这个问题的类。

猜你喜欢

转载自blog.csdn.net/yinghonghui/article/details/82978951