2017-09-28 6 views

Répondre

0

Je voudrais utiliser un flux parallèle Java 8.

List<List<Something>> listOfLists = ... 
List<List<Result>> results = listOfLists.parallelStream() 
             .map(l -> function(l)) 
             .collect(Collectors.toList()); 

Cependant, vous pouvez utiliser un ExecutorService

ExecutorService es = 
List<Callable<List<Result>>> callables = 

List<Future<List<Result>>> futures = es.invokaAll(callables); 
List<List<Result>> results = new ArrayList<>(); 
for (Future<List<Result>> future : futures) 
    results.add(future.get()); 
+0

Thanks.Can vous fournir plus de clarté sur la façon d'ajouter les appelables. – Likhith

+0

@Likhith puisque c'est votre exigence Je suppose que vous connaissez les détails de pourquoi utiliser Callable est plus simple que la première solution qui n'en a pas besoin. –