AtomicInteger的ABA问题
在多个线程进行访问的时候,读取相同的数据,但是在某个线程修改完之后,再把它修改成原来的值,另外的线程读取的修改之后的数据,但是该数据其实已经别修改。
CAS只管开始读取的数据与最后读取的数据一致,不管中间过程的变化
解决ABA问题:在操作上面加上版本号 AtomicStampedReference
原子引用 AtomicReference<泛型>
AtomicInteger的ABA问题
在多个线程进行访问的时候,读取相同的数据,但是在某个线程修改完之后,再把它修改成原来的值,另外的线程读取的修改之后的数据,但是该数据其实已经别修改。
CAS只管开始读取的数据与最后读取的数据一致,不管中间过程的变化
解决ABA问题:在操作上面加上版本号 AtomicStampedReference
原子引用 AtomicReference<泛型>