zoukankan      html  css  js  c++  java
  • CountDownLatch---减法计数器

      CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。它本质上是AQS的上层实现的共享锁。如果同时开启多个线程执行任务,必须等到所有的线程都执行完再执行主线程,这个时候就需要用到CountDwonLatch来控制了。先上代码,更好理解:

     示例

        public static void main(String[] args) {
            //减法计数器,用来判断全部线程是否全部执行完成。设置10表示等待10个线程全部执行完成。
            CountDownLatch count = new CountDownLatch(10);
            for (int i=1;i<=10;i++){
                new Thread(()->{
                    System.out.println(Thread.currentThread().getName() + "出去了");
                    count.countDown();// -1
                },String.valueOf(i)).start();
            }
    
            //主线程等待子线程全部执行完毕才继续执行
            try {
                count.await();//等待计数器归零(等待计数器计数完成)
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("关门了");
    
        }
  • 相关阅读:
    IP fragmentation
    pci驱动
    cpu地址空间
    CentOS7 安装bazel
    kettle集群
    TextRankGloVe算法资料
    使用Kong Service负载均衡Load Balance功能
    自建ss服务器教程
    OpenSSL创建TLS/SSL证书
    监控告警
  • 原文地址:https://www.cnblogs.com/bobobjh/p/14472732.html
Copyright © 2011-2022 走看看