为什么Java中没有AtomicBooleanArray数据类型?

时间:2013-10-15 10:59:33

标签: java java.util.concurrent

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

对此的任何想法都将非常感激。

由于

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

我认为,因为AtomicIntegerArray可以看作AtomicBooleanArray,如果你只分配0(假)和1(真)值。那么为什么要编写重复的代码?