我一直在使用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 –