请稍等 ...
×

采纳答案成功!

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

关于 lambda 中 加 输出语句结果会出错

https://coding.imooc.com/learn/questiondetail/2JZ906eezNJ6arpL.html
之前的同学提出的问题没看懂
为什么 加了 System.out.println 结果就会出错
图片描述

注释掉的话,也有几率会出错
图片描述

只写一行一句 就百分百正确
图片描述

正在回答

1回答

我试了,只写一行一句,也并不是100%正确,你可以多试下,或者可能是你的电脑速度太快了,但是理论上,加不加一行已经被注释了的语句,不会影响运行结果。

0 回复 有任何疑惑可以回复我~
  • 提问者 Murano_Satomi #1
    老师 我试了下 发现跟 运算方式有关
    简单运算
    new LongAccumulator((x, y) -> 2 + x + y, 1);  结果都是不会变
    计算量稍大的运算
    new LongAccumulator((x, y) -> 2 + x * y, 1);   基本上每次运行结果不一样
    这可能是我电脑性能导致的  还是跟 LongAccumulator 或者 lambda 底层实现有关?
    回复 有任何疑惑可以回复我~ 2022-06-16 20:07:47
  • 悟空 回复 提问者 Murano_Satomi #2
    我觉得,底层都是并行执行的,没有固定顺序,但是如果咱们的运算很简单,那么它的速度就很快,所以可能看不出并发的问题
    回复 有任何疑惑可以回复我~ 2022-06-16 20:35:14
  • 提问者 Murano_Satomi #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2022-06-16 20:45:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信