问题出现的原因:
1.java不推荐在循环中去查库,会影响查询的效率
2.如果因为业务的需要,确实需要这么做,可以使用多线程的方式进行优化
public class Test{
//创建固定线程池大小
ExecutorService executorService = Executors.newFixedThreadPool(8);
//计数器(循环次数)
CountDownLatch countDownLatch = new CountDownLatch(8);
for(int i=0;i<8;i++){
executorService.submit(()->{
try{
//....具体业务
} catch(Exception e){
log.info(e.getMessage());
}
//完成线程
countDownLatch.countDown();
});
}
//阻塞线程,直到调用N次,countDown()方法才释放线程
countDownLatch.await();
}