zoukankan      html  css  js  c++  java
  • java并发编程CountDownLatch

     1 /**
     2      * CountDownLatch用法
     3      * CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,
     4      * 它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了
     5      */
     6     @Test
     7     public void getThread(){
     8         final CountDownLatch latch = new CountDownLatch(2);
     9         new Thread (){
    10             @Override
    11             public void run() {
    12                 try {
    13                     System.out.println("子线程"+Thread.currentThread().getName()+"正在执行");
    14                     Thread.sleep(3000);
    15                     System.out.println("子线程"+Thread.currentThread().getName()+"执行完毕");
    16                     latch.countDown();
    17                     System.out.println(latch);
    18                 }catch (InterruptedException e){
    19                     e.printStackTrace();
    20                 }
    21             }
    22         }.start();
    23         new Thread (){
    24             @Override
    25             public void run() {
    26                 try {
    27                     System.out.println("子线程"+Thread.currentThread().getName()+"正在执行");
    28                     Thread.sleep(3000);
    29                     System.out.println("子线程"+Thread.currentThread().getName()+"执行完毕");
    30                     latch.countDown();
    31                     System.out.println(latch);
    32                 }catch (InterruptedException e){
    33                     e.printStackTrace();
    34                 }
    35             }
    36         }.start();
    37 
    38         try {
    39             System.out.println("等待2个子线程执行完毕...");
    40             latch.await();
    41             System.out.println("2个子线程已经执行完毕");
    42             System.out.println("继续执行主线程");
    43         }catch(InterruptedException e){
    44             e.printStackTrace();
    45         }
    46     }

  • 相关阅读:
    canvas
    canvas基础
    canvas基础
    面向对象
    函数的原型链
    原型链&Object的一些方法
    普通函数和构造函数
    下载RDO OpenStack RPM
    RHEL7修改swappiness
    2016年新年愿望
  • 原文地址:https://www.cnblogs.com/javallh/p/9262879.html
Copyright © 2011-2022 走看看