5

我注意到Java 中没有类似于 AtomicIntegerArray 的 AtomicBooleanArray 数据类型虽然我可以使用 AtomicBoolean[] 来满足我当前的需求,但我很想了解为什么 AtomicBooleanArray 不是库的一部分。

对此的任何想法将不胜感激。

谢谢

4

2 回答 2

3

AtomicBoolean 实际上包装了一个int设置为 0 或 1 的 false 或 true。这是因为它使用了int基于而不是更小的 compareAndSwap 方法。

你可以实现一个 AtmoicBooleanArray,但不是很干净,这可能就是它不存在的原因。即 JVM 不支持原子布尔操作,因为 x64 和 ARM 等 CPU 不支持它。

于 2013-10-15T12:16:23.967 回答
0

我认为由于 AtomicIntegerArray 可以被视为 AtomicBooleanArray,如果您只分配 0(假)和 1(真)值。那么为什么要编写重复的代码呢?

于 2013-10-15T11:31:49.057 回答