Volatile vs Atomic
|
💖The Begin💖点点关注,收藏不迷路💖
|
volatile和atomic这两个关键字经常会出现在我们的视线中。它们虽然看似相似,实则功能大不相同。
1、Volatile 变量
-
作用:
确保变量的可见性,即一个线程修改了变量的值,其他线程能立即看到最新值。 -
不足:
不保证操作的原子性,如count++可能不是原子的。 -
适用场景:
用于状态标记、控制循环等不需要原子性操作的场景。
2、Atomic 变量
-
作用:
既保证变量的可见性,又保证操作的原子性。 -
优点:
如AtomicInteger的getAndIncrement()方法,确保整个增加操作不被打断。 -
适用场景:
计数器、累加器等需要原子性操作的场景。
总结:
选择volatile还是atomic,取决于你是否需要操作的原子性。不需要就volatile,需要就atomic。

|
💖The End💖点点关注,收藏不迷路💖
|

302

被折叠的 条评论
为什么被折叠?



