CAS与ABA问题

图片说明

过程:读取当前值X=1,进行计算得到结果值V=X++(2),在更新之前比较X与当前的新值X=1?。1如果不相等,自旋 2、如果相等,更新为新值V=2

问题:当前新值X与E相等,但是在这个过程中,这个值X先变成别的值再变成新的值,X先被动过后被改回来了。就是ABA问题。

ABA问题的解决方法:把x加个版本号,不仅比较值,还比较版本号

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务