对于AtomicInteger问题的补充。

来源:3-1 线程安全性-原子性-atomic-1

LittleNiq

2018-11-29

感谢您的回答,本想在您之前的回复下评论的,但是慕课网页面js请求报异常一直没有提交成功就在这里新建了一个问题,麻烦您了。图片描述
关于上面图片里的这个问题,我还是有疑问,感觉自己还是没有理解到点子上。 这里的var5是不是相当于主存里的值,在执行getAndAddInt的时候不是已经将var5(主存的值)返回到上一层(这时当前线程就可以得到主存里的值了,最后 return var5)。为什么还要在执行完getAndAddInt之后再进行一次+1操作呢?

写回答

1回答

Jimin

2018-11-29

var5是更新之前主存里最新的值,如果更新成功了,那么var5此时相对主存最新的值就少了这次更新的操作,就是那个加1,因此返回上一层要加上1才是此次操作完的实际结果

0
1
LittleNiq
非常感谢!
2018-11-30
共1条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程