当前位置: 首页 > 知识库问答 >
问题:

Java 8流内流并行

姜献
2023-03-14

我有一个相当复杂的过程,需要几个层次的嵌套for循环。

只针对一组特定的条件执行操作。换句话说:

for(){ 
    if(){ 
        for(){ 
            if(){
                //Something happens RIGHT HERE
            }
            //And maybe here
        }
    }
}
    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{

共有1个答案

郑晨
2023-03-14

顶部ParallelStream()下面的任何内容都将以串行方式完成。我假设您正在使用类似于列表 > 的东西,因此您将在顶层以下创建一个与顶层没有连接的新流。

 类似资料:
  • 它们之间有什么相同和不同之处,看起来Java并行流中有RXJava中可用的一些元素,是吗?

  • 考虑到我有2个CPU核心的事实,并行版本不是应该更快吗?有人能给我一个提示为什么并行版本比较慢吗?

  • 我试图使用

  • 我认为流API在这里是为了使代码更易于阅读。我觉得有点烦。流接口扩展了java。lang.AutoCloseable接口。 因此,如果你想正确地关闭流,你必须使用try-with资源。 清单1.不是很好,流没有关闭。 清单2.使用2嵌套try 清单3。当map返回流时,必须关闭stream()和map()函数。 我举的例子毫无意义。为了示例,我将jpg图像的路径替换为整数。但不要让这些细节分散你的

  • 我有两个(或更多)