多线程与同步工具:CountDownLatch使用示例
CountDownLatch
是Java并发工具包(java.util.concurrent)中的一个类,主要用于控制多个线程的执行顺序。
以下是一个简单的CountDownLatch
使用示例:
- 创建一个CountDownLatch实例,初始值为n(表示需要等待的线程数量)。
CountDownLatch latch = new CountDownLatch(n);
- 在每个需要等待的线程中,调用
await()
方法来阻塞当前线程,直到latch的计数值减1。
// 线程A的代码
try {
latch.await();
System.out.println("Thread A finished");
} catch (InterruptedException e) {
e.printStackTrace();
}
// 线程B的代码
// 类似地,调用await()方法
这样,当所有需要等待的线程都调用了await()
后,latch的所有计数值都会减1。当最后一个计数值为0时,所有阻塞在await()
的线程都会被唤醒,执行它们剩下的代码。
还没有评论,来说两句吧...