java - 如何为列表中的每个元素同时运行一个方法
问题描述
我想在下面calculation()
同时调用calculateKalmanValues()
“movingBeacons”列表中的每个元素以减少处理时间。我认为javastream.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());
但请注意,并行流可能并不总是加速串行操作。有关警告,请参阅文档。
推荐阅读
- unity3d - 如何在 Unity 中搜索特定方向的对象?
- unit-testing - 在 Racket 中使用模拟对象进行猴子修补
- java - CameraX PreviewView 什么都不显示
- ios - Objective-C:Google SSO 对话框在 iOS 13+ 中很快消失
- javascript - 我们如何使用 jsddoc 记录作为函数作为参数传入的回调返回值
- javascript - 需要限制用户写入表之间的空间
- angular - Angular 9中的空路由断言错误
- python - 用 seaborn 和 Latex 误差绘制密度
- java - Android 中 OffsetDateTime.now() 的奇怪行为
- python - pandas - 如果列标题是另一列的子字符串,则创建真/假列