请解释 volatile 关键字的作用,以及它在可见性、有序性和原子性方面的保证,并说明它在多线程编程中的适用场景。
考察说明
考察对 volatile 语义的准确理解及其在多线程中的应用边界
回答思路
- 准确说明 volatile 保证可见性和禁止指令重排(有序性),但不保证原子性
- 能举出 volatile 的典型适用场景(如状态标志、双检锁中的特殊处理)
- 能说明 volatile 与 synchronized 在原子性上的区别,以及何时需要其他同步机制
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。