请解释 JUC(Java 并发工具包)中 Volatile 关键字、锁机制与线程安全之间的关系,并说明在实际并发编程中如何选择使用它们。
考察说明
考察对 Java 并发基础概念的理解及其在保证线程安全时的应用与取舍。
回答思路
- 分别准确描述 Volatile、JUC 各类锁(如 synchronized、ReentrantLock)的可见性、原子性和有序性保证
- 说明 Volatile 不保证原子性,只保证可见性和一定程度的有序性
- 指出线程安全实现的不同层次(原子操作、锁、并发容器)
- 结合场景说明何时该用 Volatile 何时用锁
- 给出一个综合示例说明三者如何协同保证线程安全
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。