• 练习题之CyclicBarrier与CountDownLatch


    一、CyclicBarrier使用

      new Thread().start();

      new Thread(new Runnable() {},"XXX").start();

    public class CyclicBarrierTest {
     
      public static int NUM=10;
    
      public static void main(String[] args) {
       CyclicBarrier cyc = new CyclicBarrier(10);
       for(int i=0;i<NUM;i++) {
         new Thread(new Runnable() {
              public void run() {
                 System.out.println(Thread.currentThread().getName() +":before CyclicBarrier");
                 cyc.await();
                 System.out.println(Thread.currentThread().getName() +":over CyclicBarrier");
              }
         },Thread.currentThread().getname()).start();
       }
      System.out.println("Test");
      }
    }

     输出结果如下:

    main:before CyclicBarrier
    main:before CyclicBarrier
    main:before CyclicBarrier
    main:before CyclicBarrier
    main:before CyclicBarrier
    main:before CyclicBarrier
    main:before CyclicBarrier
    main:before CyclicBarrier
    Test
    main:before CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier
    main:over CyclicBarrier

    二、CountDownLatch使用

    public class CountDownTest {
       public static int NUM=10;
      
       public static void main(String[] args) {
          CountDownLatch latch = new CountDownLatch(NUM);
          for(int i =0;i<NUM;i++) {
            new Thread(new Runnable() {
               public void run() {
                System.out.println(Thread.currentThread.getName() + "Before CountDownLatch");
                latch.countDown();
                System.out.println(Thread.currentThread.getName() + "Over CountDownLatch");
    
                }
            },Thread.currentThread.geName()).start();
          }
          latch.await();
          System.out.println("Test");
       }
    }

    输出结果如下:

    main:Before CountDownLatch
    main:Before CountDownLatch
    main:Over CountDownLatch
    main:Before CountDownLatch
    ...
    Test
  • 相关阅读:
    STM32(五)固件库文件分析
    STM32(四)GPIO初始化顺序
    STM32(三)GPIO的8种工作模式介绍
    date命令详解
    "System.Security.Cryptography.CryptographicException: 拒绝访问" 问题的解决方法
    记录一次win2003服务器的IIS服务加载.flv后缀的资源报错404的处理方法
    Linux之修改主机名(永久生效)
    Python3 isdigit()方法
    Python3 字典 items() 方法
    Linux shell脚本中shift的用法说明
  • 原文地址:https://www.cnblogs.com/moonandstar08/p/5400323.html
Copyright © 2020-2023  润新知