-
问题1:volatile 修饰数组时能否保证数组元素的可见性?
volatile 修饰数组时为数组元素赋值和为数组引用赋值汇编代码区别.png
其中红色边框对应的是为数组元素赋值,可见没有任何使用 lock 前缀,绿色边框是为数组引用赋值,这时是有 lock 前缀的。
-
问题2:volatile 修饰对象时能否保证对象属性的可见性?
volatile 修饰对象时为对象属性赋值和为对象引用赋值汇编代码区别.png
其中红色边框对应的是为对象属性赋值,可见没有任何使用 lock 前缀,绿色边框是为对象引用赋值,这时是有 lock 前缀的。
网友评论