CountDownLatch
CountDownLatch allows for awaiting a given number of countdown signals. Models the behavior of java.util.concurrent.CountDownLatch in Kotlin with suspend
.
Must be initialised with an initial value of 1 or higher, if constructed with 0 or negative value then it throws IllegalArgumentException.