在流管道中放置parallel()调用是否重要?

例如,parallel()之前filter()

Stream.of(...)
      .parallel()
      .filter(...)
      .forEach(...);

parallel()filter()

Stream.of(...)
      .filter(...)
      .parallel()
      .forEach(...);

调用顺序parallel()会影响流吗?

回答

放在哪里都没有关系parallel()。在forEach调用终端操作(在您的情况下)之前,不会评估流。

来自 Javadoc:

返回并行的等效流。可能返回自身,因为流已经是并行的,或者因为底层流状态被修改为并行。这是一个中间操作。

顺序重要的唯一情况是,如果您还调用sequential,则以下情况适用:

最近的顺序或并行模式设置适用于整个流管道的执行。

有关更多信息,请参阅相关的 Javadoc


以上是在流管道中放置parallel()调用是否重要?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>