Java进阶-第三十篇:Java内存模型 - 内存可见性 - 解决方案(下)
在 Java 多线程编程里,内存可见性是一个关键问题。除了 volatile
关键字,synchronized
和 final
关键字也能用于解决内存可见性问题。下面就详细探讨这两个关键字保证内存可见性的原理和应用场景。
1. synchronized 关键字与可见性
锁机制与可见性
synchronized
关键字借助锁机制来保障内存可见性。当一个线程进入 synchronized
块时,会从主内存读取共享变量的值;退出 synchronized
块时,会把修改后的变量值同步回主内存,从而让其他线程能看到最新的值。
示例代码如下:
public class SynchronizedVisibilityExample {
private