校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > synchronized
题目

volatile如何保证可见性?

解答

Java 内存模型对volatile变量定义的特殊规则如下所示(V 表示一个 volatile 变量):
· 在工作内存中,每次使用 V 前必须先从主内存刷新最新的值,用于保证能看见其他线程对 V 所做的修改。
· 在工作内存中,每次修改 V 后都必须立刻同步回主内存中,用于保证其他线程可以看到当前线程对 V 所做的修改。
· volatile 所修饰的变量不能被指令重排序优化,从而保证代码的执行顺序和编写顺序相同。
上述三个规则中的前两个保证了 volatile 变量的可见性(第三条规则保证了 volatile 变量的有序性)。

C 0条回复 评论

帖子还没人回复快来抢沙发