转载于:CyclicBarrier和CountDownLatch的用法与区别
两者区别
- CountDownLatch的计数器只能使用一次。而CyclicBarrier的计数器可以使用
reset()
方法重置。所以CyclicBarrier能处理更为复杂的业务场景,比如如果计算发生错误,可以重置计数器,并让线程们重新执行一次。 - CountDownLatch会阻塞主线程,CyclicBarrier不会阻塞主线程,只会阻2塞子线程。
- 某线程中断CyclicBarrier会抛出异常,避免了所有线程无限等待。