Java volatile作用以及为何不能保证原子性
目录1.前言2.保证可见性3.防止指令重排4.不保证原子性
1.前言
volatile在多线程编程中是一个十分重要的关键字,volatile被称为轻量级的synchronized,它保证了数据的可见性,同时其执行成本较synchronized更低。
2.保证可见性
多线程环境中,每个线程都有自己的工作空间,某个线程对数据修改后,该数据不一定能立刻在其他线程中更新(不可见)。
例如如下代码:
public class VolatitleTest {
public static void main(Stri
原创
2020-06-17 21:00:49 ·
1144 阅读 ·
0 评论