首页 > 其他分享 >ABA 问题

ABA 问题

时间:2024-03-22 10:13:58浏览次数:17  
标签:ABA 10 问题 工作 线程 内存

ABA 问题描述:

  • 假设有两个线程,线程 1 和线程 2,线程 1 工作时间需要 10 秒,线程 2 工作需要 2 秒;
  • 主内存值为 A,第一轮线程 1 和线程 2 都把 A 拿到自己的工作内存;
  • 第 2 秒,线程 2 开始执行,线程 2 工作完成把 A 改成了 B ;
  • 第 4 秒,线程 2 把 B 又改成了 A,然后就线程 2 进入休眠状态;
  • 第 10 秒,线程 1 工作完成,看到期望为 A 真实值也是 A 认为没有人动过,其实 A 已经经过了修改,只不过又改了回去,然后线程 1 进行 CAS 操作。

ABA 问题解决:为了解决这个问题,在每次进行操作的时候加上一个版本号或者是时间戳即可。

 

标签:ABA,10,问题,工作,线程,内存
From: https://www.cnblogs.com/RedOrange/p/18057094

相关文章

  • Amazon Aurora Limitless Database :数据库管理的全新境界
    在当今数亿用户、PB级数据和数百万交易的业务环境中,数据库管理面临着巨大的挑战。传统数据库扩展的繁琐性和耗时性使得许多组织需要花费数月甚至数年的时间来构建自定义软件以满足其极端的工在当今数亿用户、PB级数据和数百万交易的业务环境中,数据库管理面临着巨大的挑战。 ......
  • 进入 git-lfs 目录卡顿问题。
    当前系统ubuntu22.04当使用git-lfs克隆一个项目的时候,会遇到执行ls就会非常卡。进程见git-lfs有大占用,io写入进程也见git-lfs.随之寻找解决方法。见https://github.com/git-lfs/git-lfs/issues/5310中bk2204回复到Ifyou'reusingGit2.34ornewer,youalso......
  • 使用概率分析与指示器随机变量解决生日悖论问题及C代码示例
    概率分析与指示器随机变量解决生日悖论问题一、引言二、生日悖论的概率分析三、指示器随机变量解决生日悖论问题四、C代码实现五、结论与启示一、引言在日常生活中,我们经常会遇到一些与概率相关的问题,其中生日悖论就是一个非常有趣且典型的例子。生日悖论指的是在一......
  • C语言解决水仙花问题
    题目叙述:水仙花数是 指一个三位数,它的每个位上的数字的3次幂之和等于它本身。(例如:153=13+53+35153=13+53+35)找到所有的水仙花数并按行打印,按从小到大的顺序输出。思路:首先确定范围,三位数(100--999),其次确定百位、十位、个位要怎么表示,令一个位数为i百位(a)a=i/100  ......
  • C语言解决切面条问题
    题目叙述:一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?分析:可以拿一张纸撕1条,对折3次从中间撕开是9块1次------3---2次------5---3次----......
  • 循环控制:(第10题)与闰年相关的问题,涉及数组,函数的知识
    #include<stdio.h>intis_leap_year(intyear){ if((year%4==0&&year%100!=0)||year%400==0) return1; else return0;}intgap_years(intyear){ inti=1990; intsum=0; intgap_years=0; if(year==1990) retur......
  • SpringBoot整合Redis:Redis优化解决数据一致性问题
    ......
  • kswapd0挖矿病毒的发现与清除 导致CPU过高问题
    kswapd0挖矿病毒的发现与清除BobAnkh​清华大学/网文爱好者/游戏爱好者/猫猫爱好者 26人赞同了该文章写下这篇博客的原因是实验室的服务器在安装docker之后不幸感染上了挖矿病毒,便将发现与清除的方法记录于此,如有错漏,恳请指正本文同样发于本人的bl......
  • 记一次Redis报错问题
    问题描述在Spring项目中使用了@Cacheable注解并且将缓存放入redis,当从Redis读取缓存时提示了反序列化异常,无法构造UnmodifiableMap,没有默认的构造函数CouldnotreadJSON:Cannotconstructinstanceof`org.apache.commons.collections4.map.UnmodifiableMap`(noCreators,......
  • 【pycharm】作为Array查看出现数据无法显示问题(已解决)
    【pycharm】作为Array查看出现数据无法显示问题(已解决)当我们在调试代码的时候,需要对某个变量进行查看,就如同在matlab中,我们可以直接在工作区对某个变量进行双击查看矩阵变量的具体数值在这里我遇到一个问题:我的pycharm是专业版2023.3.2,在查看变量作为Array查看出现数据......