Java 在流管道中的何处放置parallel()调用重要吗?
例如,Java 在流管道中的何处放置parallel()调用重要吗?,java,parallel-processing,java-stream,Java,Parallel Processing,Java Stream,例如,parallel()在filter()之前 和parallel()在filter()之后 调用parallel()的顺序是否会影响流?将parallel()放置在何处并不重要。在调用终端操作(在您的例子中是forEach)之前,不会对流进行求值 从Javadoc: 返回并行的等效流。可能会返回自身,这可能是因为流已经是并行的,也可能是因为底层流状态被修改为并行的。 这是一个中间操作 订单唯一重要的情况是,如果您同时调用sequential,则以下情况适用: 最新的顺序或并行模式设置应用于整
parallel()
在filter()之前
和parallel()
在filter()之后
调用parallel()
的顺序是否会影响流?将parallel()
放置在何处并不重要。在调用终端操作(在您的例子中是forEach
)之前,不会对流进行求值
从Javadoc:
返回并行的等效流。可能会返回自身,这可能是因为流已经是并行的,也可能是因为底层流状态被修改为并行的。
这是一个中间操作
订单唯一重要的情况是,如果您同时调用sequential
,则以下情况适用:
最新的顺序或并行模式设置应用于整个流管道的执行
有关更多信息,请参阅
Stream.of(...)
.parallel()
.filter(...)
.forEach(...);
Stream.of(...)
.filter(...)
.parallel()
.forEach(...);