例如,如果类Foo有实例方法bar(),
List<Foo> list = new ArrayList<>();
// ...
list.stream()
.parallel()
.forEach(Foo::bar);
doSomething();
Run Code Online (Sandbox Code Playgroud)
是否保证调用bar()之前返回的所有调用doSomething()?
是的,除了终端操作是iterator()或者spliterator().
在几乎所有情况下,终端操作都很渴望,在返回之前完成数据源的遍历和管道的处理.只有终端操作iterator()和spliterator()不是; 这些是作为"逃生舱口"提供的,以便在现有操作不足以执行任务时启用任意客户端控制的管道遍历.
| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |