Atomic原子操作类提供了一种用法简单, 性能高效, 线程安全的变量更新方式.
今天就以AtomicInteger为例,看看它是如何做到的....值的封装是用volatile修饰的.
private volatile int value;
在之前的浅析volatile文章中, 我们已经了解了,
volatile在多线程中, 仅可以保证可见性, 保证不了原子性的...var2, var5, var5 + var4));
return var5;
}
逻辑很简单, 利用CAS机制, 将value值更新为计算后的值, 如果更新失败, 就利用volatile机制从内存中重新拿一次