Countdown Latch With Timeout
Using an instance of a java.util.concurrent.CountDownLatch
, we can wait for a latch to count down to zero, blocking the calling thread before continuing. When passing in a timeout, the method returns true
if the count reached zero or false if the timeout expires.
To make the timeout more explicit, the CountDownLatchWithTimeout
class will throw a TimeoutException
rather than force you to check. Using a static import, the example looks like the following.
1 2 3 4 5 |
|
The use of the with
method is required. Following the micro- DSL approach, it is the with
that actually does the waiting. Calling the await
method on it's own will not block.