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

    CountDownLatch 使用方法

    import java.util.concurrent.CountDownLatch;
    
    public class TestCountDownLatch {
    
        public static void main(String[] args) {
            testCountDownLatch();
        }
    
        public static void testCountDownLatch() {
    
            int threadCount = 10;
    
            final CountDownLatch latch = new CountDownLatch(threadCount);
    
            for (int i = 0; i < threadCount; i++) {
    
                new Thread(new Runnable() {
    
                    @Override
                    public void run() {
    
                        System.out.println("线程" + Thread.currentThread().getId() + "开始出发");
    
                        try {
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
    
                        System.out.println("线程" + Thread.currentThread().getId() + "已到达终点");
    
                        latch.countDown();
                    }
                }).start();
            }
    
            try {
                latch.await();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    
            System.out.println("10个线程已经执行完毕!开始计算排名");
        }
    }
    

    参考答案

    ``` 线程11开始出发 线程13开始出发 线程12开始出发 线程10开始出发 线程14开始出发 线程15开始出发 线程16开始出发 线程17开始出发 线程18开始出发 线程19开始出发 线程16已到达终点 线程10已到达终点 线程14已到达终点 线程15已到达终点 线程12已到达终点 线程17已到达终点 线程13已到达终点 线程11已到达终点 线程18已到达终点 线程19已到达终点 10个线程已经执行完毕!开始计算排名 ```

    参考资料

  • 相关阅读:
    inner join on, left join on, right join on讲解(转载)
    ref 与 out
    Shell基础01
    Python 基础01
    linux基础03
    Shell基础02
    linux基础02
    Linux基础01
    linux基础05
    linux基础04
  • 原文地址:https://www.cnblogs.com/hgnulb/p/9903916.html
Copyright © 2011-2022 走看看