流并行化中的Java 8流

我有一个相当复杂的过程,需要几个级别的嵌套for循环.

仅针对一组特定条件执行操作.换一种说法:

for(){ 
    if(){ 
        for(){ 
            if(){
                //Something happens RIGHT HERE
            }
            //And maybe here
        }
    }
}

没有其他语句,只有一个可靠的代码路径迭代一堆不同类型的对象.

我的问题是,如果我要用流替换这个逻辑(考虑到CPU必须执行多少次操作来完成这个循环,我认为并行流程就是这样)并且我在流中的流中有一个流(BWOOOMMMPPPPPPP INCEPTION NOISE)和我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{

最佳答案 顶部parallelStream()下方的任何内容都将以串行方式完成.我假设您正在使用类似List< List<>>的内容,因此您将在顶层下创建一个与顶层没有连接的新流.

点赞