Java进阶-第三十二篇:Java内存模型 - happens-before原则 - 规则详解(下)
在 Java 内存模型中,happens-before 原则除了程序顺序规则和监视器锁规则外,还包括 volatile 变量规则和传递性规则。这些规则对于理解多线程程序中的操作顺序和内存可见性至关重要。下面将详细介绍这两个规则。
1. volatile 变量规则
规则阐述
volatile 变量规则指的是对一个 volatile
变量的写操作 happens-before 于后续对同一个 volatile
变量的读操作。这意味着当一个线程对 volatile
变量进行写操作后,其他线程对该 volatile
变量的读操作一定能获取到最新的值。
例如,有如下代码:
public class VolatileHappensBeforeExample