🌟Java多线程实战:CountDownLatch用法💪
在Java多线程编程中,`CountDownLatch` 是一个非常实用的工具类,用于线程间的协作。它允许一个或多个线程等待,直到其他线程完成一组操作。🤔
例如,在启动多个任务后,主线程需要等待所有任务执行完毕才能继续运行。这时就可以用到 `CountDownLatch`。下面是一个简单示例:假设我们有三个子任务,主线程需要等待这三个任务全部完成后才能结束。
```java
import java.util.concurrent.CountDownLatch;
public class TaskRunner {
public static void main(String[] args) throws InterruptedException {
CountDownLatch latch = new CountDownLatch(3); // 初始化计数为3
System.out.println("主线程开始...");
for (int i = 0; i < 3; i++) {
new Thread(() -> {
try {
System.out.println(Thread.currentThread().getName() + " 正在执行任务");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
latch.countDown(); // 每个任务完成后减少计数
}
}).start();
}
latch.await(); // 主线程阻塞,直到计数归零
System.out.println("所有任务已完成,主线程继续执行!");
}
}
```
通过这个例子可以看到,`CountDownLatch` 能够很好地协调线程之间的执行顺序,确保主线程不会提前结束。👏
Java 多线程 CountDownLatch
免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。