是否可以使用 Java 8 Streams API 进行异步处理?
2022-09-01 08:58:48
我一直在Java 8中使用ComputitionStage/CompletableFuture来做异步处理,这很好。但是,有时我想要一个阶段来执行迭代器/项目流的异步处理,但似乎没有办法做到这一点。
具体来说,Stream.forEach() 具有在调用后处理所有项的语义。我想要同样的东西,但用一个完成阶段代替,例如:
CompletionStage<Void> done = stream.forEach(...);
done.thenRun(...);
如果 Stream 由异步流式处理结果支持,则这比在上面的代码本身中等待它完成要好得多。
是否有可能以某种方式使用当前的Java 8 API构建它?解决方法?