采用线程池同步进行 List 1 2 3 4的数据请求
只有数据读取时间为获取最慢的请求 而不是顺序执行下 四次请求的总时间
通过get读取待数据读取完毕后进行数据合并
//线程池
ExecutorService executor = Executors.newFixedThreadPool(4);
List<Map<String, Object>> list1 = new ArrayList<>();
List<Map<String, Object>> list2 = new ArrayList<>();
Map<String, Map<String, Object>> list3 = new HashMap<>();
Map<String, String> list4 = new HashMap<>();
try {
//查询1
Future<List<Map<String, Object>>> listFuture1 = executor.submit(() -> new ArrayList<>());
//查询2
Future<List<Map<String, Object>>> listFuture2 = executor.submit(() -> new ArrayList<>());
//查询3
Future<Map<String, Map<String, Object>>> listFuture3 = executor.submit(() -> new HashMap<>());
//查询4
Future<Map<String, String>> listFuture4 = executor.submit(() -> new HashMap<>());
list1 = listFuture1.get();
list2 = listFuture2.get();
list3 = listFuture3.get();
list4 = listFuture4.get();
} catch (Exception e) {
e.printStackTrace();
} finally {
executor.shutdown();
}
//后续数据合并处理