注意:多线程会涉及权限的问题,需要注意这个

ExecutorService executor = Executors.newFixedThreadPool(1); // 设置子查询个数
CountDownLatch count = new CountDownLatch(1); // 设置监听子查询个数
AtomicReference<TestObj> finalTest = new AtomicReference<>(); // 子查询原子实体
executor.submit(() -> {
try {
    finalTest .set(testFunc(param)); //testFunc 是子查询的方法 param是子查询的参数
   } catch (TrendException e) {
e.printStackTrace();
} finally {
count.countDown();
}
});


executor.shutdown(); 
try {
count.await(); // 计数器等待,只有所有的都结束后才会进行下一步操作
} catch (InterruptedException e) {
e.printStackTrace();
}