关于Accumulator累加器

来源:6-9 功能升级

技术进步官

2020-12-18

这个累加器如果在加法的时候可能和longadder差不多,但是在进行乘法的时候,是如何最后在共享内存中进行叠加的呢,还是说会退化成对象原子类

写回答

1回答

悟空

2020-12-18

乘法和加法是类似的原理,最后在共享内存叠乘

0
2
悟空
回复
技术进步官
原理是一样的,不管是加还是乘还是表达式,都是最后累加,源码: public long getThenReset() { Cell[] as = cells; Cell a; long result = base; base = identity; if (as != null) { for (int i = 0; i < as.length; ++i) { if ((a = as[i]) != null) { long v = a.value; a.value = identity; result = function.applyAsLong(result, v); } } } return result; } 可以看看源码分析:https://www.cnblogs.com/huangjuncong/p/9152510.html https://www.jianshu.com/p/73ec78b4e336
2020-12-21
共2条回复

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程