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