2023-09-30 11:00

CountDownLatch同步工具的用法

码自答

JavaEE

(691)

(0)

收藏

CountDownLatch可以让一个线程,等待其他所有线程执行结束之后再执行

通过一个计数器,计数器的初始值是初始线程数量,每执行一个线程,线程计数器减一,直到线程计数器的值为0.


代码实现:

package com.wanmai.demo;

public class Test {
   
    public static void main(String[] args) throws InterruptedException {

        //设置初始线程数量  初始线程数量为10
        CountDownLatch latch = new CountDownLatch(10);
 
        //匿名内部类
        Runnable runnable =  new Runnable() {
            @Override
            public void run() {
                System.out.println("执行一般线程")
	//线程执行,计数器-1
                latch.countDown(); // 当前线程调用此方法,则计数减一
            }
        };
        //同时启动多个线程
        for (int i = 0; i < 10; i++) {
            new Thread(runnable).start();
	//创建10个线程  并启动线程
        }
        latch.await(); // 阻塞当前主线程,直到计数器的值为0,直到10个线程执行结束
        System.out.println("执行主线程");
    }
}


0条评论

点击登录参与评论