Java并发编程:通过CountDownLatch实现定时任务
在Java并发编程中,CountDownLatch是一种同步工具,它用于控制一个或多个线程等待其他线程完成动作。
下面是如何通过CountDownLatch实现定时任务的示例:
- 创建CountDownLatch实例并设置初始值,比如5(表示5个任务需要完成后,其他任务才能开始)。
CountDownLatch latch = new CountDownLatch(5);
- 创建一个或多个线程,每个线程执行相同的操作,但是加入到特定的CountDownLatch等待事件发生。
// 线程1
new Thread(() -> {
try {
latch.await(); // 等待其他任务完成
System.out.println("Task 1 finished");
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
// 线程2
new Thread(() -> {
try {
latch.await(); // 等待其他任务完成
System.out.println("Task 2 finished");
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
以上代码中,两个线程分别执行,当CountDownLatch的计数器减少到0时(表示所有任务都已完成),线程开始执行后续操作。
还没有评论,来说两句吧...