I did some quick tests to test whether CountDownLatch needs to be reseted or not. It doesnt require a reset. As long as the latch count does not reach 0, any call to latch.await() will block (even if other previous calls were interrupted). So it is probably fine to use CountdownLatch