推荐使用concurrent包中的Atomic类 (二)

2014-11-24 08:16:56 · 作者: · 浏览: 2
封装,其内部实现不是简单的使用synchronized,而是一个更为高效的方式CAS (compare and swap) + volatile,从而避免了synchronized的高开销,执行效率大为提升。限于篇幅,关于“CAS”原理就不在这里讲诉。
因此,出于性能考虑,强烈建议尽量使用Atomic类,而不要去写基于synchronized关键字的代码实现。
最后总结一下,在这个帖子中我们讲诉了一下几个问题:
1. ++操作不是原子操作
2. 非原子操作有线程安全问题
3. 并发下的内存可见性
4. Atomic类通过CAS + volatile可以比synchronized做的更高效,推荐使用

作者: sky ao