一条道路上安装上一道多门闩的门(countDownLatch = new CountDownLatch(n)),门闩的数量(n)在初始化时确定;
道路上在跑的运动员,被门挡住,等待门打开(countDownLatch.await)。
完成一项任务(这些任务可以认为是运动员继续跑的前置条件,比如准备喝的水呀,防护用品呀)就拔掉一根门闩(countDownLatch.countDown()),
全部门闩拔完后,在门后等待的运动员就可以通过门继续跑下去了(countDownLatch.await后的程序继续运行)。