码迷,mamicode.com
首页 > 其他好文 > 详细

ConuntDownLatch详解

时间:2020-06-30 22:29:54      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:允许   闭锁   恢复   计数器   latch   实现   不能   一个   线程等待   

ConuntDownLatch详解

允许一个或多个线程等待,直到其他线程执行完后再执行.

原理

  • 通过一个计数器来实现的.
  • 计数器的初始化值为线程的数量.
  • 每个线程在完成自己的任务后,计数器的值应当减一.
  • 当计数器到达0时,表示所有线程完成任务,等待的线程则可以恢复执行任务.

闭锁(Latch)

延迟线程的进度直到线程到达某个终点状态.
闭锁生效时,所有线程被阻塞.
闭锁失效时,所有线程恢复运行.
闭锁是一次性的,闭锁失效后其状态不能改变.

核心方法

countDown()

其他线程在完成各自的任务后,调用该方法使得count值减一.

await()

等待的线程调用此方法阻塞该线程,直到count减为一时恢复自己的任务.

ConuntDownLatch详解

标签:允许   闭锁   恢复   计数器   latch   实现   不能   一个   线程等待   

原文地址:https://www.cnblogs.com/truestoriesavici01/p/13216176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!