关于java的多线程问题


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

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

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

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