zoukankan      html  css  js  c++  java
  • CountDownLatch使用方法

    CountDownLatch是一个同步辅助类,在完毕一组正在其它线程中运行的操作之前。它同意一个或多个线程一直等待。

    如果我们周末要去旅游。出游前须要提前订好机票、巴士和酒店,都订好后就能够出发了。这个用代码怎么实现?能够用CountDownLatch。

    主要方法

    • await(); // 使当前线程在锁存器倒计数至零之前一直等待
    • countDown(); // 递减锁存器的计数,如果计数到达零,则释放全部等待的线程

    栗子

    public static void main(String[] args) {
            ExecutorService executor=Executors.newFixedThreadPool(5);
            final CountDownLatch countDownLatch=new CountDownLatch(3);
    
            executor.execute(new Runnable(){
                public void run() {
                    try{
                    System.out.println("订机票");
                    }finally{
                        countDownLatch.countDown();
                    }
                }
            });
            executor.execute(new Runnable(){
                public void run() {
                    try{
                    System.out.println("订巴士");
                    }finally{
                        countDownLatch.countDown();
                    }
                }
            });
            executor.execute(new Runnable(){
                public void run() {
                    try{
                    System.out.println("订酒店");
                    }finally{
                        countDownLatch.countDown();
                    }
                }
            });
    
            try {
                countDownLatch.await();
                System.out.println("能够出发了");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
  • 相关阅读:
    MinkowskiPooling池化(上)
    稀疏张量基础
    稀疏张量网络
    英伟达TRTTorch
    闵可夫斯基引擎Minkowski Engine
    reactive和reactor
    today search
    today news 2020-8-8
    如何去写一本精品小书?
    today news
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7087169.html
Copyright © 2011-2022 走看看