程序员社区

(Java并发面试题)volatile 变量和 atomic 变量有什么不同?

首先,volatile 变量和 atomic 变量看起来很像,但功能却不一样。

Volatile变量可以确保先行关系,即写操作会发生在后续的读操作之前, 但它并不能保证原子性。例如用volatile修饰count变量那么 count++ 操作就不是原子性的。

而AtomicInteger类提供的atomic方法可以让这种操作具有原子性如getAndIncrement()方法会原子性的进行增量操作把当前值加一,其它数据类型和引用变量也可以进行相似操作。

Java面试题

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (Java并发面试题)volatile 变量和 atomic 变量有什么不同?

一个分享Java & Python知识的社区