成神之路,需要耐得住寂寞,开启总结源码之旅。
我阅读总结源码的目的不是为了炫技,我希望通过阅读源码可以解决一些问题,也可以通过阅读源码理解别人思想,以帮助我们更好的写我们的代码。
引子
在多线程的场景中,我们需要如何同步数据,通常会使用synchronized或者lock来处理,使用了synchronized意味着内核态的一次切换。这是一个很重的操作。有没有一种方式,可以比较便利的实现一些简单的数据同步,比如计数器等等。concurrent包下的atomic提供我们这么一种轻量级的数据同步的选择。
他山之石
- 说一说Java的Unsafe类: www.cnblogs.com/pkufork/p/j…
- java魔法之unsafe: leokongwq.github.io/2016/12/31/…
- java乐观锁实现案例: blog.csdn.net/zhangdehua6…
- Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS: www.cnblogs.com/qjjazry/p/6…
- JDK8系列之LongAdder解析: www.jianshu.com/p/ec045c38e…
- jdk1.8 LongAdder源码学习: blog.csdn.net/u011392897/…
使用例子
import