研究java源代码:AtomicLong是怎么实现同步的(jdk5.0新加的特性)
java.util.concurrent.atomic.AtomicLong是怎么实现同步的,我搜索了下该类,貌似没有synchronized关键字
大家一起来讨论讨论吧
简单介绍:利用像AtomicLong这样已有的线程安全对象管理类的状态是非常实用的。相比于
非线程安全对象,判断一个线程安全对象的可能状态和状态的转换要容易得多。这简化了维护和验证
线程安全性的工作。
这些类用来实现数字和对象引用的原子状态转换。把long类型的计数器替换为AtomicLong类型的,我们可以
确保所有访问计数器状态的操作都是原子的。
------解决方案--------------------你没有真的案例来做,光说还是比较难以理解的,
有了案例并且把代码写出来,这才比较好分析
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------直接使用 CPU 指令——比较并交换(compare-and-swap, CAS)
http://en.wikipedia.org/wiki/Compare_and_swap