基于JDK 7,我们如何实现一个多线程计数器?_atomiclong多线程计数-CSDN博客

网站介绍:文章浏览阅读111次。基于JDK 7,我们如何实现一个多线程计数器?一般做法是定义一个volatile long或定义一个AtomicLong(底层也是volatile long),然后在每个线程中用CAS操作对它进行add操作。这两种做法都是没问题的,功能是正确的、性能也还好,我们继续按照原来的方式使用即可。不过,如果你的项目升级到了JDK 8,还可以进一步提高多线程计数器的性能,让它比传统的volatile long方式更高效。JDK 8新增的LongAdder类(父类是Striped64,包含一些公用方法)就是用来完成这个_atomiclong多线程计数