会不会有这种场景:
如有一个值为3
A线程想把他更新成4,先比较期望值是不是3,比较完后,正要进行替换操作。线程被切了。
线程B成功把3变成5
线程A恢复后,执行替换操作又把它变成了4。
总得来说CAS是如何保证 比较和替换 这两个操作是原子性的。
肯定有这种情况,所以要使用同步机制。
按你的说法,双重检查锁,还有版本号
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632