我想在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()或多线程。

最佳答案

您可以尝试使用并行流:

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


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

10-05 19:05