这是我对Java 8Stream框架的理解:
尽管有人已经找到了一种将自定义线程池与Stream框架的并行执行结合使用的方法,但是我一生无法在Java 8
API中提及默认的Java
8并行Stream实现将使用ForkJoinPool#commonPool()。(Collection#parallelStream(),StreamSupport类中的方法以及我不知道的API中其他可能启用并行的流的源)。
这些只有我能从搜索结果中看到的花絮是:
并行实现基于Java 7中引入的java.util.concurrency Fork / Join实现。
因此:Collection#parallelStream()。
ForkJoin公共池用于执行任何并行任务。
所以我的问题是:
哪里说ForkJoinPool#commonPool()用于对从Java8 API获得的流进行并行操作?
在哪里可以证明Java 8并行流使用FJ Framework?
Afaik(Java 1.8u5)在并行流的JavaDoc中没有提到使用常见的ForkJoinPool。
但这是在http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html底部的ForkJoin文档中提到的。
WRT替换线程池
我的理解是,您可以使用自定义的ForkJoinPool(而不是常用的)(请参阅Java8并行流中的自定义线程池),但不能使用与ForkJoin实现不同的自定义ThreadPool
WRT取代Streams API
您可以签出https://github.com/nurkiewicz/LazySeq,它更像是Scala类的流实现-
非常好,非常有趣
PS(wrt ForkJoin和流)
某些内容创建源流 实现负责提供一个baseStream#parallel()方法,该方法反过来返回一个可以并行运行其操作的流。 虽然已经有人找到了在Stream Framework的并行执行中使用自定义线程池的方法,但我在Java 8 API中找不到任何关于默认的Java 8并行流实现将使用ForkJoinPool#commonPool()的提及。(集合#ParallelStream()、Stre
内容 搭建etcd集群 搭建etcd网关 在容器内运行etcd集群 配置 加密(TODO) Monitoring 维护 理解失败 灾难恢复 性能 版本 支持平台 额外说明 这些内容相当于是 etcd3 的管理手册,针对的是 etcd3 的管理者(如运维人员)。对于运维人员,需要重点阅读这些内容。 内容来自 github 官网,地址: https://github.com/coreos/etcd/t
我已经搜索了网上的各种文章和堆栈溢出问题,但我不能找到这个完美的答案。有许多问题与此相近,但略有不同。 我们知道Java8Streams API在内部使用Fork-Join池。 现在我的问题是如何使用Fork-Join池来划分流管道中的任务? 假设我们有以下内容: null
我已经使用打包资源并生成。 但是当我升级到Android 24时,我发现。 是否应该使用?我怎么用它?我找不到任何关于它的文件。
我声明枚举为: 然后,如下所示迭代枚举: 我检查了Java API,但找不到values()方法?我很好奇这种方法是从哪里来的? API链接:https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html
译者注: 原英文文档地址为 https://linkerd.io/docs/ 欢迎来到 linkerd! 本文档将帮助您开始使用。 它分为几个主要部分: 概述:以 high-level 的方式介绍 linkerd 的特性,解释其背后的理由,并介绍文档其余内容中使用的重要概念。 开始:提供在各种环境中设置和运行 linkerd 的具体说明。从这里开始快速入门。 特性:涵盖 linkerd 的主要功能