CAS中ABA问题

在线程1最后需要写入比较时,发现预估值与内存值都为1是相同的,就会误以为之前没有其他线程操作,其时之前线程2将1->2,又将2->1,称为ABA。

4.4.1解决方法

添加类的版本号,来避免ABA问题,如原来内存值为(A,1),线程2改为(B,2),又改为(A,3),最后线程1用预期值(A,1)与内存值(A,3),进行比较就会发现不一样。

相关推荐
追逐梦想的张小年2 分钟前
JUC编程03
java·开发语言·idea
派葛穆3 分钟前
Python-PyQt5 安装与配置教程
开发语言·python·qt
万邦科技Lafite11 分钟前
一键获取京东商品评论信息,item_reviewAPI接口指南
java·服务器·数据库·开放api·淘宝开放平台·京东开放平台
小乔的编程内容分享站11 分钟前
记录使用VSCode调试含scanf()的C语言程序出现的两个问题
c语言·开发语言·笔记·vscode
indexsunny22 分钟前
互联网大厂Java面试实战:从Spring Boot到微服务架构的技术问答解析
java·spring boot·redis·微服务·kafka·jwt·flyway
toooooop823 分钟前
php BC MATH扩展函数计算精度-第三个参数
开发语言·php
蓁蓁啊26 分钟前
C/C++编译链接全解析——gcc/g++与ld链接器使用误区
java·c语言·开发语言·c++·物联网
sheji341629 分钟前
【开题答辩全过程】以 基于SpringBoot的疗养院管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
weixin_3077791333 分钟前
C#实现两个DocumentDB实例之间同步数据
开发语言·数据库·c#·云计算