在开发过程中,为了提升服务器响应的速度,我们可以使用多线程的方式进行处理
//需求:多个线程并发进行,所有线程都执行完成才执行最后的输出语句 System.out.println("子线程执行完,主线程继续执行");
private CountDownLatch countDownLatch = new CountDownLatch(10);
private ExecutorService executorService
= new ThreadPoolExecutor(
10,
20,
0L,
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
@Test
public void test1() throws InterruptedException {
for (int i = 0; i < 10; i++) {
executorService.execute(() -> {
//线程执行
System.out.println("子线程执行:" + countDownLatch.getCount());
countDownLatch.countDown();
});
}
countDownLatch.await();
System.out.println("子线程执行完,主线程继续执行");
}