可见性语义完全相同,当需要使用原子原语时,使用原子原语很有用。
例如:
if (volatileBoolean) { volatileBoolean = !volatileBoolean;}
可能在多线程环境中产生问题,因为变量可能会在两行之间变化。如果您需要测试和分配是原子的,则可以使用:
atomicBoolean.compareAndSet(true, false);
欢迎分享,转载请注明来源:内存溢出
可见性语义完全相同,当需要使用原子原语时,使用原子原语很有用。
例如:
if (volatileBoolean) { volatileBoolean = !volatileBoolean;}
可能在多线程环境中产生问题,因为变量可能会在两行之间变化。如果您需要测试和分配是原子的,则可以使用:
atomicBoolean.compareAndSet(true, false);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)