我正在为AtomicInteger和AtomicBoolean编写单元测试。它们将被用作在objective中测试这些类的仿真的参考测试,用于翻译的项目。,但是如何测试AtomicBoolean?基本操作是get和set,所以在许多线程中多次调用并期望最终结果为true或false似乎没有意义。booleanA = new AtomicBoolean(true);
final AtomicBoolean booleanB = new AtomicBoolean(false);assertFaile
但是当我尝试用AtomicBoolean进行测试时,有些地方出了问题。atomicBoolean = new AtomicBoolean(false);
@OverrideCurrent is " + atomicBoolean.get());
if (atomicBoolean.compareAndSet(true, false)Atomic now is
我理解AtomicBoolean.compareAndSet()的原子性,以及它如何提供volatile没有的read+write操作的原子性。但是,我没有看到任何文档提供AtomicBoolean的可见性保证,如下所示:
AtomicBoolean.compareAndSet()的每个成功的write最终都将通过其他线程对后续的AtomicBoolean.get()和AtomicBoolean.compareAndSet()可见。executing = new AtomicBoolean</e