我注意到Java 中没有类似于 AtomicIntegerArray 的 AtomicBooleanArray 数据类型。虽然我可以使用 AtomicBoolean[] 来满足我当前的需求,但我很想了解为什么 AtomicBooleanArray 不是库的一部分。
对此的任何想法将不胜感激。
谢谢
我注意到Java 中没有类似于 AtomicIntegerArray 的 AtomicBooleanArray 数据类型。虽然我可以使用 AtomicBoolean[] 来满足我当前的需求,但我很想了解为什么 AtomicBooleanArray 不是库的一部分。
对此的任何想法将不胜感激。
谢谢
AtomicBoolean 实际上包装了一个int
设置为 0 或 1 的 false 或 true。这是因为它使用了int
基于而不是更小的 compareAndSwap 方法。
你可以实现一个 AtmoicBooleanArray,但不是很干净,这可能就是它不存在的原因。即 JVM 不支持原子布尔操作,因为 x64 和 ARM 等 CPU 不支持它。
我认为由于 AtomicIntegerArray 可以被视为 AtomicBooleanArray,如果您只分配 0(假)和 1(真)值。那么为什么要编写重复的代码呢?