请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

LongAdder不精确问题

public long sum() {
    Cell[] as = cells; Cell a;
    long sum = base;
    if (as != null) {
        for (int i = 0; i < as.length; ++i) {
            if ((a = as[i]) != null)
                sum += a.value;
        }
    }
    return sum;
}

在调用sum()的时候,如果是还没有遍历到的Cell[]槽被修改了而不是已经遍历的槽被修改,那不会影响最终的结果正确性了吗?

正在回答

1回答

会影响,这是LongAdder的特性。

1 回复 有任何疑惑可以回复我~
  • 提问者 CAnthony #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-09-03 12:28:58
  • LongAdder sum是线程安全的吗?
    回复 有任何疑惑可以回复我~ 2021-08-07 15:04:21
  • 悟空 回复 仙女座舜 #3
    恩是的
    回复 有任何疑惑可以回复我~ 2021-08-07 15:08:52
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信