java - 官方文档认为Java流操作的并行使用 fork/join?

  显示原文与译文双语对照的内容
113 1

以下是我对Java的流框架插件的了解:

  • 一些东西创建了源流。
  • 实现负责提供一个基于xml的BaseStream#parallel ( ) 方法,该方法将返回一个可以并行运行的流,该流是。

在 someone found我已经找到了一个方法使用custom并行的线程池Stream我不能在 Java 8 API中发现默认的Java 8并行流实现将使用 ForkJoinPool#commonPool ( ) 实现。在API中,我不知道的API中的方法( Collection#parallelStream ( ),以及其他可能的并行启用流的源) 。

只有那些我可以隐藏搜索结果的小技巧是:

  • Lambda的状态:hood") 下的库版本("并行性。
    含糊的提到了流框架和 fork/连接机械。

    fork/join机械是为了自动化这一过程而设计的。

  • JEP 107: 收集集合的大容量数据操作
    几乎直接声明 Collection 默认接口方法 #parallelStream() 使用 fork/join来实现自身。但还是没有关于公共游泳池的东西。

    并行实现构建在 Java 7中引入的java.util.concurrency fork/join实现之上。

    因此,Collection#parallelStream ( )

  • 类数组( Javadoc )
    直接状态多次使用公用池。

    ForkJoin公共池用于执行任何并行任务。

我的问题是:

在Where中, ForkJoinPool#commonPool ( ) 插件用于对从 Java API获取的流执行并行操作

时间:原作者:0个回答

101 0

Java,Java操作中有一个关于并行数据处理和性能的章节( 第 7章) 。这说明:

"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"。"

"。"。"。你将看到如何使用 Java 7中引入的fork/联接框架使这里魔术发生或者更多的并行流如何工作"

它在第 7.1节也有一个小的附注:

"并行流在内部使用默认的ForkJoinPool 。"。"。默认情况下,由于处理器返回的线程多。Runtime.getRuntime().availableProcessors()."

"可以使用系统属性 java.util. concurrent.ForkJoinPool.common.parallelism, 更改这里池的大小,如下面的示例所示:"

System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism","12");

就像在评论和其他答案中提到的,这并不意味着它总是使用 fork/join 。

原作者:
...