qq_45732008 2022-09-30 08:50 采纳率: 88.8%
浏览 21
已结题

关于java的多线程问题


Double a=1;
list.parallelStream().forEach((Double b)->{
               Double c=b+a;
               a++;
            });

用并行流怎么保证a的线程安全,我尝试着用synchronized关键字但是我显不太出来怎么写,而且这个1需求是每次调用这个方法的时候都是从1开始

  • 写回答

2条回答 默认 最新

  • zlebhs 2022-09-30 09:03
    关注

    可以使用AtomicInteger,原子类来保证线程安全。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • weixin_47038872 2022-09-30 09:49
    关注

    可以用原子类最简单方便,但是这个a不能是成员变量,需要每个现场调用a的时候要创建一次

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 已采纳回答 9月30日
  • 创建了问题 9月30日

悬赏问题

  • ¥20 arcgis制做交通拥堵时变图
  • ¥15 AD20 PCB板步线 这个要怎么步啊
  • ¥50 关于《奇迹世界》1.5版本,数据修改
  • ¥15 请问这个问题如何解决(关键词-File)
  • ¥50 visual studio 2022和EasyX图形化界面
  • ¥15 找一下报错原因,纠正一下
  • ¥50 Cox回归模型Nomogram图制作报错
  • ¥20 SQL如何查询多级用户的数据
  • ¥15 给车牌识别代码加一个识别轮廓长宽比的代码
  • ¥30 商品价格预测的transformer模型优化