首页 > 科技 >

🌟Java多线程实战:CountDownLatch用法💪

发布时间:2025-03-18 10:51:56来源:网易

在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

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。