13.7. 并行复杂度


默认情况下,分布式流会尽量并行化。最终用户可以控制这一点,实际上它们始终需要控制其中一个选项。这些流的并行性有两种。

当从 缓存集合创建流时,最终用户可以在调用流或 parallelStream 方法之间进行选择。https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html#stream--根据是否选择了并行流,将在本地为每个节点启用多个线程。请注意,一些操作(如重新哈希)和每个操作都会在本地使用顺序流。这在某些情况下可以增强,以允许本地并行流。

在使用本地并行时,用户应该小心,因为它需要大量条目或操作,这些条目或操作需要可以更快地计算。另请注意,如果用户使用具有 的并行流,并且每个操作不应阻断,这会在常见池中执行,这通常为计算操作保留。

当有多个节点时,远程请求可能需要控制同时处理远程请求是否同时处理。默认情况下,除 iterator 执行并发请求外的所有终端操作。迭代器,用于降低本地节点上的总体内存压力的方法,仅执行实际上性能稍好更高的顺序请求。

如果用户希望在 CacheStream 上调用 sequentialDistributionparallelDistribution 方法来更改此默认值。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.