知灵犀知练
← 返回

Java 并发进阶简答题

volatile 能保证什么?为什么不能单靠它保证 i++ 的线程安全?

参考答案

volatile 使相关读写具有可见性并建立规定的有序性关系,但 i++ 由读取、计算和写回组成,整体并非原子操作。

题目解析

多个线程可能读到同一旧值而丢失更新;原子计数可用 AtomicInteger 或在锁保护下执行。