我一直在使用Java 8中的CompletionStage/CompletableFuture进行异步处理,效果很好。然而,有时我想要一个阶段来执行迭代器/项目流的异步处理,而且似乎没有办法做到这一点。是否可以使用Java 8 Streams API进行异步处理?
具体来说,Stream.forEach()具有在调用所有项目之后的语义。我想同样的事情,但有CompletionStage代替,例如:
CompletionStage<Void> done = stream.forEach(...);
done.thenRun(...);
如果流是通过异步流结果的支持,这将是比等待它是在上面的代码本身完整的好得多。
是否有可能以某种方式用当前的Java 8 API来构造它?解决方法?
嗨!我已经更新了我的答案。如果它会满足你,请投票,我试图赢得更多的声誉;) –
@Rickard可能已经太晚了:)但我找到了你想要的东西,如果我正确理解你的话。 http://www.reactive-streams.org/。 https://github.com/reactor/reactor –