1.多个无关联:
private final ThreadPoolTaskExecutor threadCommonExecutor;
Future<ReturnObject> future = threadCommonExecutor.submit(() -> myFunction());
ReturnObject returnObject = future.get();
2.1个list拆成多个,返回结果累加
private final ThreadPoolTaskExecutor taskExecutor;
List<ReturnObject> returnAll = new ArrayList();
List<Future<List<ReturnObject>>> futures = myList.stream().map(e -> taskExecutor.submit(() -> myFunction(e))).collect(Collectors.toList());
for (Future<List<ReturnObject>> future : futures) {
List<ReturnObject> returnList = future.get();
if (!CollectionUtils.isEmpty(returnList)){
returnAll.addAll(returnList);
}
}