以下代码多线程批量查询并返回查询结果
// 多线程批量查询,并返回查询结果 public static List<Result> getResultData(List<String> params) { List<CompletableFuture<Result>> completableFutureList = Lists.newArrayList(); params.stream().forEach(param -> { try { CompletableFuture<Result> future = CompletableFuture.supplyAsync(() -> getData(param)); completableFutureList.add(future); } catch (Exception e) { System.out.println("getData fail,requestParam:" + param); } }); List<Result> results = completableFutureList.stream().map(CompletableFuture::join).collect(Collectors.toList()); return results; } // 伪代码模拟查询 private static Result getData(String param) { Result result = new Result(); result.setRequestParam(param); result.setDate(new Date()); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } return result; }