$ java CountDownLatchPipeline main: all 4 workers created, still waiting at the start gate main: releasing the start gate worker-0: finished round 1 worker-1: finished round 1 worker-2: finished round 1 worker-3: finished round 1 worker-0: finished round 2 worker-1: finished round 2 worker-2: finished round 2 worker-3: finished round 2 worker-0: finished round 3 worker-1: finished round 3 worker-2: finished round 3 worker-3: finished round 3 done