为了账号安全,请及时绑定邮箱和手机立即绑定

不是说volatile不保证原子性吗?为什么对于64位类型的变量用volatile修饰?

不是说volatile不保证原子性吗?为什么对于64位类型的变量用volatile修饰?

正在回答

9 回答

volatile


0 回复 有任何疑惑可以回复我~

对于32位操作系统,64位变量的读取同样不是一个原子操作,需要volidate保证原子性

0 回复 有任何疑惑可以回复我~

64位 会分成两个32位执行

0 回复 有任何疑惑可以回复我~

对于不加valatile的64位变量,JVM会分成两次读写.

加了volatile一次完成.

0 回复 有任何疑惑可以回复我~
jaba c


0 回复 有任何疑惑可以回复我~

修饰只是保证了一次读写,不会分成2次。

0 回复 有任何疑惑可以回复我~

加了volatile就会一次读写,不会分为两次读写。跟volatile不能保证原子性没有关系。

3 回复 有任何疑惑可以回复我~

我也有同样的问题

2 回复 有任何疑惑可以回复我~

应该是syn吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不是说volatile不保证原子性吗?为什么对于64位类型的变量用volatile修饰?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信