1
JavaAdvanced#concurrency
A synchronization aid that lets one or more threads wait until a set of operations in other threads completes, implemented by counting down from an initial value; once it hits zero, waiting threads proceed.
CountDownLatch latch = new CountDownLatch(3); // each worker thread calls latch.countDown() when done latch.await(); // main thread blocks until count reaches 0