关于compareAndSetInt这个方法
来源:4-5 面试官问ABA问题

大东来提高
2021-06-07
用AtomicInteger来举例
Object o, long offset,int expected,int x
老师我想问下,这个expected是用getIntVolatile方法取出来的,既然有Volatile,我是不是可以认为
expected这个值每次都是当前对象主内存的值呢?如果一样就用x更新主内存的值
写回答
1回答
-
求老仙
2021-07-14
参考 AtomicInteger 的源代码,value增加了volatile关键字修饰,由此可见getIntVolatile指的是读取volite的int变量值。因此并不是这个方法直接读取主存。
另外,从本质看,volatile关键字会为变量的读写增加内存屏障,这样看并不是某个方法决定的。
00
相似问题
关于反射调用main方法
回答 1
关于接口中的default关键字
回答 1