zoukankan      html  css  js  c++  java
  • JAVA多线程之JUC——CountDownLatch

    首先,JUC:java.util.concurrent包

    1、CountDownLatch:

      Latch闭锁的意思,是一种同步的工具类。类似于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭着的,不允许任何线程通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。且当门打开了,就永远保持打开状态。

      作用:可以用来确保某些活动直到其他活动都完成后才继续执行。

      使用场景:

      1、例如我们上例中所有人都到达饭店然后吃饭;

      2、某个操作需要的资源初始化完毕

      3、某个服务依赖的线程全部开启等等...

      CountDowmLatch是一种灵活的闭锁实现,包含一个计数器,该计算器初始化为一个正数,表示需要等待事件的数量。countDown方法递减计数器,表示有一个事件发生,而await方法等待计数器到达0,表示所有需要等待的事情都已经完成。

      主要方法:

       public CountDownLatch(int count); //构造方法参数指定了计数的次数

       public void countDown(); //当前线程调用此方法,则计数减一

       public void await() throws InterruptedException //用此方法会一直阻塞当前线程,直到计时器的值为0

    我要把所有的坑都趟平!
  • 相关阅读:
    随机数生成器
    赌博的艺术
    基本算法——包罗万象
    对于搜索的新理解
    关于动态规格的新理解
    发现的好东西——bitset
    高精度(重定义版)——来自
    ac自动机(模板)
    数据采集框架Gobblin简介
    Hadoop的数据采集框架
  • 原文地址:https://www.cnblogs.com/loveling-0239/p/6552586.html
Copyright © 2011-2022 走看看