既然 volatile 能够保证线程间的变量可见性,是不是就意味着基于 volatile 变量的运算就是并发安全的?

显然不是的。基于 volatile 变量的运算在并发下不一定是安全的。

volatile 变量在各个线程的工作内存,不存在一致性问题(各个线程的 工作内存中 volatile 变量,每次使用前都要刷新到主内存)。

但是 Java 里面的运算并非原子操作,导致 volatile 变量的运算在并发下一样是不安全的。

回复

我来回复
  • 暂无回复内容

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部