可见性语义完全相同,当需要使用原子原语时,使用原子原语很有用。
例如:
if (volatileBoolean) { volatileBoolean = !volatileBoolean;}可能在多线程环境中产生问题,因为变量可能会在两行之间变化。如果您需要测试和分配是原子的,则可以使用:
atomicBoolean.compareAndSet(true, false);

可见性语义完全相同,当需要使用原子原语时,使用原子原语很有用。
例如:
if (volatileBoolean) { volatileBoolean = !volatileBoolean;}可能在多线程环境中产生问题,因为变量可能会在两行之间变化。如果您需要测试和分配是原子的,则可以使用:
atomicBoolean.compareAndSet(true, false);