关于valueOffset是当前值还是内存位置的疑问

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

SUDDEV

2020-06-19

图片描述
老师,你说这个offset是指当前的值,但是我调试了很多次都不等于当前的值,百度上搜索了下这个好像是指“对象的属性在内存中的位置”,可以再讲讲这个参数吗?

写回答

2回答

Jimin

2020-06-19

OK。

0
1
SUDDEV
非常感谢!
2020-06-23
共1条回复

SUDDEV

提问者

2020-06-19

找到答案了:

2、关于CAS中compareAndSwapInt(var1, var2, var5, var5 + var4)的理解
compareAndSwapInt(var1, var2, var5, var5 + var4)换成 compareAndSwapInt(obj, offset, expect, update)能清楚一些,如果obj内的value和expect相等,就证明没有其他线程改变过这个变量,那么就更新它为update,如果这一步CAS没有成功,那就采用自旋的方式继续进行CAS操作。这块是一个CPU指令完成的,依旧是原子操作。
作者:Jimin
链接:http://www.imooc.com/article/25035
来源:慕课网

相关问答:

关于compareAndSwapInt的 https://coding.imooc.com/learn/questiondetail/96908.html

0
0

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

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

3923 学习 · 832 问题

查看课程