我注意到Java中的 NO AtomicBooleanArray数据类型类似于AtomicIntegerArray。虽然我可以使用AtomicBoolean []来满足我当前的需求,但我很想知道为什么AtomicBooleanArray不是库的一部分。
对此的任何想法都将非常感激。
由于
答案 0 :(得分:3)
AtomicBoolean实际上包含int
,其设置为0或1表示false或true。这是因为它使用了基于int
而不是更小的compareAndSwap方法。
你可以实现一个AtmoicBooleanArray,但不是干净利落的,这可能就是它不存在的原因。即JVM不支持原子布尔操作,因为像x64和ARM这样的CPU不支持它。
答案 1 :(得分:0)
我认为,因为AtomicIntegerArray可以看作AtomicBooleanArray,如果你只分配0(假)和1(真)值。那么为什么要编写重复的代码?