countdownlatch用法
时间: 2023-05-24 14:06:08 浏览: 150
CountDownLatch是一个Java并发工具,用来控制线程的执行顺序。它可以让一些线程等待其他线程执行完毕后再继续执行。
CountDownLatch的用法如下:
1. 创建CountDownLatch对象,指定需要等待的线程数。
2. 开启需要等待的线程,这些线程执行完自己的任务后调用countDown()方法通知CountDownLatch。
3. 主线程调用await()方法阻塞等待,直到CountDownLatch的计数器变为0时才会继续执行。
示例代码:
```
import java.util.concurrent.CountDownLatch;
public class CountDownLatchDemo {
public static void main(String[] args) throws InterruptedException {
int num = 3;
CountDownLatch latch = new CountDownLatch(num);
for (int i = 1; i <= num; i++) {
new Thread(() -> {
System.out.println(Thread.currentThread().getName() + " is running.");
latch.countDown();
}, "Thread " + i).start();
}
latch.await();
System.out.println("All threads have finished.");
}
}
```
上述代码创建了一个CountDownLatch对象,指定需要等待3个线程。然后开启了3个线程,这些线程执行完自己的任务后调用countDown()方法通知CountDownLatch。主线程调用await()方法阻塞等待,直到CountDownLatch的计数器变为0时才会继续执行。最后输出"All threads have finished."。
阅读全文
相关推荐















