JDK6中AtomicInteger的实现

AtomicInteger extends Number implements Serializable,内部果然是一个volatile int,但是compareAndSet(CAS),incrementAndGet等原子操作都依赖于unsafe.compareAndSwap,这个应该是对不同平台又不同实现,汇编级别的lock free,并注意每次compareAndSet只有当true时才返回,否则一直循环。这是经典实现,包括C++中也是这样的。

你可能感兴趣的:(java,jdk)