ABA问题:这个是CAS常见的一个问题。是指在使用cas锁的时候,由于cas算法实现一个重要前提需要取出内存中某时刻的数据,而在下一个时刻进行比较并替换,也就是说在这个时间差内,另外一个线程的手速比较快,他将这个值从原来的A改成了B又改成了A,这个时候原来的线程一看还是原来的A,就认为这个变量的值没有被修改过,从而再接着执行CAS操作,其实这个变量的值是被改过的,也就是说此A非彼A。解决ABA问题的常用方法是使用版本好或时间戳等机制来标识数据的变化。
posted on 2024-08-12 18:54 ~码铃薯~ 阅读(15) 评论(0) 编辑 收藏 举报