5
私は、オブジェクトのリストをストリーミングすることによって非同期クライアントメソッドを呼び出しています。このメソッドはFutureを返します。Futuresのリストをストリームする最も効率的な方法
コールの後に返される先物のリストを反復する最良の方法は何ですか(最初に現れるFutureを処理するため)
注:非同期クライアントは、Future not CompletableFutureのみを返します。
以下はコードです:
List<Future<Object>> listOfFuture = objectsToProcess.parallelStream()
.map((object) -> {
/* calling an async client returning a Future<Object> */ })
.collect(Collectors.toList());
を示すよう
私は、カスタムプールに行くと、あなたはCompletionServiceを使用してではなく、配列に結果をマッピングすることを検討しましたか? http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CompletionService.html –
[CompletionService](http://docs.oracle.com/javase/7/docs/)を試してください。 api/java/util/concurrent/CompletionService.html)?ここには[説明](http://stackoverflow.com/a/19348417/6785649)があります。 –
'CompletionService'は、' Future'を生成するコードを制御できない場合、 'Executor'にジョブをサブミットしても意味がありません。 – Holger