如何同时为列表中的每个元素运行方法

时间:2019-04-07 14:15:58

标签: java java-stream

我想在calculation()中同时在calculateKalmanValues()下面调用“ movingBeacons”列表中的每个元素,以减少处理时间。我认为Java stream.parallel()是理想的解决方案。

public void calculation(){
           // do some think
}

//这是我称为Calculation()的方法 //对于movingBeacons列表中的每个元素,应同时调用计算方法

public void calculateKalmanValues()  {
       List<String> movingBeacons=incomingBtRssiRepository.movingBeacons();

       movingBeacons.forEach.parallel()
}

通过使用java stream.parallel()或多线程。

1 个答案:

答案 0 :(得分:3)

您可以尝试使用并行流:

List<String> movingBeacons = incomingBtRssiRepository.movingBeacons();
movingBeacons.parallelStream()
    .forEach(s -> s.calculation());

但是请注意,并行流可能并不总是会加快串行操作的速度。注意事项,请参见documentation