原子变量上的 volatile 关键字
Volatile keyword on Atomic Variable
以下代码在Java
有效
volatile AtomicInteger a = new AtomicInteger(123);
AtomicInteger
等原子变量是否需要 volatile
关键字?或者 volatile
是多余的?
对于大多数理智的用例来说这是多余的,但可以想象它适用于一些奇怪的情况——我想不出任何。如有疑问,请使用 final
.
volatile 是多余的,因为 AtomicInteger 中的变量已经是 volatile 并将提供所需的 happens-before 关系。只需将字段设置为最终字段即可。
以下代码在Java
有效volatile AtomicInteger a = new AtomicInteger(123);
AtomicInteger
等原子变量是否需要 volatile
关键字?或者 volatile
是多余的?
对于大多数理智的用例来说这是多余的,但可以想象它适用于一些奇怪的情况——我想不出任何。如有疑问,请使用 final
.
volatile 是多余的,因为 AtomicInteger 中的变量已经是 volatile 并将提供所需的 happens-before 关系。只需将字段设置为最终字段即可。