Loading

ConuntDownLatch详解

ConuntDownLatch详解

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

原理

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

闭锁(Latch)

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

核心方法

countDown()

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

await()

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

posted @ 2020-06-30 21:29  战五渣渣渣渣渣  阅读(474)  评论(0编辑  收藏  举报