Java 面试宝典:volatile 的使用场景有哪些?
回答 volatile 是一种轻量级的同步机制,它能保证共享变量的可见性,同时禁止重排序保证了操作的有序性,但是它无法保证原子性。所以使用 volatile 必须要满足这两个条件: 写入变量不依赖当前
volatile是一种轻量级的同步机制,确保共享变量的可见性和操作的有序性,但不能确保原子性。适用于多个线程读、一个线程写的场景,如状况标志、DCL的单例模式和开销较低的读-写锁策略。要正确使用volatile,写入变量不能依赖于旧值,变量不能参与其他变量的不变性条件。