注意:多线程会涉及权限的问题,需要注意这个
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();
}
个人学习或者工作过程中的一些简要记录,欢迎各位大神一起指导,共同学习