如何在Java中使用一组易失性布尔而不是一组易变的布尔值?

时间:2014-02-22 18:55:59

标签: java multithreading concurrency cas locks

所以我想要一个包含10个易失性布尔值的数组,而不是一个包含10个布尔值的易失性数组。有一个易失性数组引用可能甚至没有意义,如果我错了就纠正我。

2 个答案:

答案 0 :(得分:1)

如果它只有10而且总是10,你可以简单地写:

private volatile boolean b1, b2, ..., b10;

一种可能更简洁的方法是使用an AtomicIntegerArray(10)并在整数和布尔值之间进行映射(0 = false,1 = true)。

你应该澄清你需要10个挥发性布尔值的原因:可能有更好的方法。

答案 1 :(得分:1)

我认为唯一的方法是使用AtomicBoolean []或AtomicIntegerArray。然后他们不需要动荡。它的元素将是。

如果您想要更多乐趣,请查看以下问题:Which is "better". AtomicIntegerArray (1/0 as true/false) versus AtomicBoolean[]?