Similar to Barrier - http://tech.puredanger.com/2008/07/08/java7-phasers/ An example, show how to coordinate producer and consumer with Phaser - http://javaforu.blogspot.com/2011/08/java-7s-jucphaser-short-tutorial.html When to use CountDownLatch, Semaphore, CyclicBarrier, Exchanger and Phaser - https://codurance.com/2016/08/24/the-java-synchronisers/