原子操作是否足够安全,可以在多线程应用程序中使用它而不会导致竞争条件和其他并发问题?假设我们不担心可见性(我们从CPU读取/写入所有内容)。
答案 0 :(得分:4)
原子操作是否足够安全,可以在多线程应用程序中使用它 没有引起竞争条件和其他并发问题?
是的,java严格定义了memory model(也称为JSR 133)。
java.util.concurrent包中的原始类型也有开箱即用的原子包装,如AtomicInteger。
使用compare-and-swap实现原子性。