JUC 辅助类CountDownLatch 计数器
一、场景
执行多个线程,多个线程执行完后,再执行其他内容
二、过程
1、定义CountDownLatch对象,并设置数量
2、对象.countDown()方法,使数量减1
3、对象.await()方法,当数量值为0时,执行后续代码
三、案例
package com.wt.juc; import java.util.concurrent.CountDownLatch; /** * 六个人全部离开教室后,班长才关门 */ public class CountDownDemon { public static void main(String[] args) { // 1.创建对象 CountDownLatch downLatch = new CountDownLatch(6); for (int i = 1; i <= 6; i++) { new Thread(()->{ System.out.println(Thread.currentThread().getName() + "号学生离开"); // 2.数量 减 1 downLatch.countDown(); }, String.valueOf(i)).start(); } // 3.数量为0时,执行下列操作 try { downLatch.await(); } catch (InterruptedException e) { e.printStackTrace(); } Thread.currentThread().setName("班长"); System.out.println(Thread.currentThread().getName()+"关门"); } }

浙公网安备 33010602011771号