CountDownLatch
是 Java 中的一个线程同步类,它可以用于实现线程等待。具体来说,CountDownLatch
可以让一个或多个线程等待其他线程完成后再继续执行。
CountDownLatch
的主要方法包括:
-
CountDownLatch(int count)
:构造方法,创建一个CountDownLatch
对象,并指定计数器的初始值。 -
void countDown()
:将计数器减 1。当一个线程完成了它的工作后,可以调用该方法将计数器减 1。 -
void await()
:当前线程调用该方法后进入等待状态,直到计数器的值为 0。此时,所有调用await()
方法而进入等待的线程将被唤醒,可以继续执行。
CountDownLatch
的典型应用场景包括等待其他线程完成初始化操作、等待多个线程完成某个任务后再进行后续操作等。
需要注意的是,CountDownLatch
的计数器一旦减为 0,就不能再被重置,即无法再次使用。如果需要多次进行等待操作,可以考虑使用 CyclicBarrier
类。