通过AtomicInteger, AtomicLong的分析说明, 可以知道Atomic相关类都是利用volatile实现线程间的可见性, 利用Unsafe类中的CAS机制, 完成的原子性操作....现在对Atomic做下总结
1....Pair cmp, Pair val) {
return UNSAFE.compareAndSwapObject(this, pairOffset, cmp, val);
}
总结
整个atomic...包都是基于CAS机制实现的原子性操作....部分操作会因为多次循环操作浪费CPU资源, 一般在并发不是特别高的情况下, 是推荐使用的. 反之, 可以引入锁相关机制, 相互配合使用, 提高系统性能.