基于CyclicBarrier和CountDownLatch的使用区别说明
可以看到,三位运动员准备的时间分别是1s,2s,3s。系统等到他们都准备好了,再发出起跑的信号。在这里CyclicBarrier 做法是在自己的构造器中new了一个runnable,等待其他线程都执行完,再执行此runnable中的代码。我们再看看CountDownLatch怎么实现:结果同上:我们可以看到,countDownLatch是采取阻塞主线程的方法实现了线程的统一。在实际的开发中,我个人比较倾向于第二种方法,因为使用起来简单,完全满足我的需求。