没有理解这个为什么可以通过CAS实现互斥访问

来源:6-3 互斥锁解决了什么问题?

Eldin_Zhou

2022-09-01

没有理解为什么加薪这个操作CAS可以实现互斥访问,如果最开始mu int值为1那么直接跳过这个原子操作就好了,我试了一下访问顺序并不是固定的,结果也有并发问题。(如图)图片描述

写回答

1回答

Moody

2022-09-01

这个地方我没讲完,这样直接写是不行的,CompareAndSwapInt32这个函数有个返回值,true的时候才是成功,可以进行操作。false的时候是失败,需要自己写自旋重试的逻辑。


0
0

深入Go底层原理,重写Redis中间件实战

深入Go语言原理+Go重写Redis

474 学习 · 172 问题

查看课程