我有一个可调用的,它正在执行不同的参数列表并返回另一个列表。我希望将每个线程返回的列表添加到列表中。
答案 0 :(得分:0)
我会使用Java 8并行流。
List<List<Something>> listOfLists = ...
List<List<Result>> results = listOfLists.parallelStream()
.map(l -> function(l))
.collect(Collectors.toList());
但是您可以使用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());