我想在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()或多线程。
答案 0 :(得分:3)
您可以尝试使用并行流:
List<String> movingBeacons = incomingBtRssiRepository.movingBeacons();
movingBeacons.parallelStream()
.forEach(s -> s.calculation());
但是请注意,并行流可能并不总是会加快串行操作的速度。注意事项,请参见documentation。