According to the functionality of Countdown Latch, await() method blocks the execution of the current thread until the count reaches zero. Here CountDownLatch initialized as 10, and there are 4 threads which are used to reduce the count of CountDownLatch and await () method will wait infinitely to get 0 as CountDownLatch value. 4 threads are able to reduce the count by 4 from 10. So count will never reach zero and execution of main thread keep waiting for infinite time.
Line below the await() method will wait infinitely to decrease the countdown value.