我有一个相当复杂的过程,需要几层嵌套的for循环。
只有在特定条件下才执行操作。换句话说:
for(){
if(){
for(){
if(){
//Something happens RIGHT HERE
}
//And maybe here
}
}
}
没有else语句,只有一个坚实的代码路径迭代通过许多不同类型的对象。
我的问题是,如果我用流替换这个逻辑(考虑到CPU必须执行多少操作才能完成这个周期,我认为并行处理是正确的方法),并且我有一个流在另一个流中,在最上层使用parallelstream(),那么下面的流是否仍然按顺序运行,只是在各自的线程中?
toplevelItems.parallelstream().forEachOrdered{
//Does this stuff run in series within as many threads as there are toplevelItems
otherObjects.stream().forEach{
//or Naw?
stillOtherObjects.stream().forEach{