CountDownLatch
一种同步辅助工具,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。CountDownLatch是用给定的计数初始化的。由于调用了countDown方法,await方法会阻塞,直到当前计数为零,在此之后,所有等待的线程都会被释放,后续的await调用会立即返回。这是一种一次性现象——计数不能重置。如果需要重置计数的版本,可以考虑使用CyclicBarrier。CountDownLatch是一个通用的同步工具。
/**锁存器计数-1
当前计数-1=0(新计数==0),则等待线程全部被启用,执行下一步调度。
当前计数>0,计数-1
当前计数=0,什么也不会发生
**/
public void countDown()
/**使当前线程等待,直到锁存器计数 == 0,除非线程被中断或超时。**/
boolean await(long timeout, TimeUnit unit)
/**使当前线程等待,直到锁存器技术 == 0,除非线程被中断**/
boolean await()
/**返回当前还需等待的线程计数**/
public long getCount()
CountDownLatch是一个Java并发工具,用于同步多个线程。它通过一个可递减的计数器来实现,当计数器归零时,所有等待的线程将被释放,继续执行。countDown()方法用于减少计数,await()方法让线程等待,直到计数器为零。这是一个一次性工具,不支持计数重置,若需重置计数,可以考虑使用CyclicBarrier。
1131

被折叠的 条评论
为什么被折叠?



