Java并发24:CountDownLatch与CyclicBarrier - 线程协作工具

CountDownLatch:倒计时门闩 核心概念:等待N个事件完成后,才能继续 CountDownLatch latch = new CountDownLatch(3); // 初始化计数为3 // 工作线程 new Thread(() -> { doWork(); latch.countDown(); // 计数-1 }).start(); // 主线程等待 latch.await(); // 阻塞,直到计数为0 System.out.println("所有任务完成"); 应用场景 场景1:等待多个服务启动 public class ApplicationStarter { private final CountDownLatch latch = new CountDownLatch(3); public void start() throws InterruptedException { // 启动数据库 new Thread(() -> { initDatabase(); latch.countDown(); }).start(); // 启动缓存 new Thread(() -> { initCache(); latch.countDown(); }).start(); // 启动MQ new Thread(() -> { initMQ(); latch.countDown(); }).start(); // 等待所有服务启动完成 latch.await(); System.out.println("应用启动完成"); } } 场景2:并行任务聚合 ...

2025-11-20 · maneng

如约数科科技工作室

浙ICP备2025203501号

👀 本站总访问量 ...| 👤 访客数 ...| 📅 今日访问 ...