The Java concurrency API provides a class that allows one or more threads to wait until a set of operations are made. It's called the CountDownLatch class. This class is initialized with an integer number, which is the number of operations the threads are going to wait for. When a thread wants to wait for the execution of these operations, it uses the await() method. This method puts the thread to sleep until the operations are completed. When one of these operations finishes, it uses the countDown() method to decrement the internal counter of the CountDownLatch class. When the counter arrives at 0, the class wakes up all the threads that were sleeping in the await() method.
In this recipe, you will learn how to use the CountDownLatch class to implement a video conference system. The video conference system should wait for the arrival of all the participants before it...