技术栈

CAS中ABA问题

迷茫的羔羊羊2023-07-29 14:01

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

4.4.1解决方法

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

上一篇:GitLab 删除项目
下一篇:Spring使用注解存储Bean对象
相关推荐
Wang's Blog
3 分钟前
Nodejs-HardCore: Buffer操作、Base64编码与zlib压缩实战
开发语言·nodejs
Coder_Boy_
9 分钟前
基于SpringAI的在线考试系统设计总案-知识点管理模块详细设计
android·java·javascript
csbysj2020
10 分钟前
C# 集合(Collection)
开发语言
Assby
16 分钟前
如何尽可能精确计算线程池执行 shutdown() 后的耗时?
java·后端
csbysj2020
24 分钟前
Lua 面向对象编程
开发语言
焰火1999
39 分钟前
[Java]自定义重试工具类
java
SuperherRo
2 小时前
JAVA攻防-Shiro专题&断点调试&有key利用链&URL&CC&CB&原生反序列化&加密逻辑
java·shiro·反序列化·有key·利用链·原生反序列化·加密逻辑
桦说编程
2 小时前
简单方法实现子任务耗时统计
java·后端·监控
左直拳
2 小时前
将c++程序部署到docker
开发语言·c++·docker
热门推荐
01GitHub 镜像站点02Labelme从安装到标注:零基础完整指南03安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)04Linux下V2Ray安装配置指南05Claude Code 2.1.2 升级报错?别折腾了,一行命令搞定062025-04-03 Latex学习1——本地配置Latex + VScode环境07jdk21下载、安装(Windows、Linux、macOS)08【踩坑笔记】50系显卡适配的 PyTorch 安装09UV安装并设置国内源10KGG转MP3工具|非KGM文件|解密音频