• 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

    我要把所有的坑都趟平!
  • 相关阅读:
    假期总结三
    假期总结三
    假期总结三
    假期总结三
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    Redis 在线管理工具(phpRedisAdmin)介绍 两次git
    进程
    C# exe文件 添加到windows 服务
  • 原文地址:https://www.cnblogs.com/loveling-0239/p/6552586.html
Copyright © 2020-2023  润新知