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