10.7. 并行编译
默认情况下,分发流会尝试并行化。最终用户可以控制这一点,实际上它们始终必须控制其中一个选项。这些流是并行化的方法。
从缓存集合创建 流到每个节点的本地,最终用户可以在调用流或 并行Stream 方法之间进行选择。https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html#stream--根据是否已选择并行流,将在本地为每个节点启用多个线程。请注意,一些操作(如重新哈希)了解迭代器和每个操作始终在本地使用顺序流。这在某个时间点上可以增强,以允许在本地并行流。
在使用本地并行性时,用户应小心,因为它需要有大量条目或操作可以更快地计算。另外,请注意,如果用户使用并行流,每个流
都不应该阻止操作,因为该操作将在通用池中执行,通常为计算操作保留。
当存在多个 节点时,可能需要控制远程请求是否同时处理,还是一次处理。默认情况下,除 iterator 外的所有终端操作都会执行并发请求。迭代器,可以降低本地节点上的总体内存压力的方法,仅执行实际执行稍好的连续请求。
如果用户希望更改此默认值,但可以通过调用 CacheStream
上的 sequentialDistribution 或 parallelDistribution 方法来实现。