LongAdder
事情的开头是因为在阿里巴巴开发手册上看见了这个,建议在jdk8 的环境下,使用LongADDer对象,会比AtomicLong效率高。
实践得出。。。。的确高了一个位,在这里记录一哈。。
保证i++的操作:
volatile不能保证原子性和线程安全,加同步锁可以,但是过于复杂,,杀鸡焉用牛刀??
可以使用AtomicInteger、AtomicLong,它们是通过 CAS 算法实现的一种乐观锁。
不过,LongAdder效率更高:
内部是继承者stride64,里面有一个base和一些cell数组,当数据量大,就累加进各自线程的槽中,减少cas自旋的次数,加快效率。
记录一哈;