首页 > 其他 > 详细

CAS中的ABA问题

时间:2020-04-17 19:01:36      阅读:50      评论:0      收藏:0      [点我收藏+]
  1. CAS(V,Expected,NewValue),CAS自旋时,如果操作途中Expected值没有改变则会赋予其新的值(NewValue),如果发生改变则会将改变后的值赋给Expected重新进行上一步操作,但是这中间如果有其他线程将Expected的值改变为N之后又改回Expected,则CAS无法识别,称之为ABA问题,基本数据类型时不会有问题,但是引用数据类型则不行,地址还是原来的地址,但是内容可能会有变化,解决这个问题的方法就是加一个版本号(version),同时检查Expected和version。
  2. 2  1:47:39

CAS中的ABA问题

原文:https://www.cnblogs.com/Courage129/p/12721624.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!