从Demo中实验得出
CyclicBarrier | CountDownLatch | |
---|---|---|
使用情况 | 多个线程都执行完之后,再执行另一个线程(主线程不等待) | 多个线程都执行完之后,再执行主线程 |
重复利用 | 栅栏可以重复利用 | 当计数器为0后,再利用失效 |
线程中后续执行 | 多个线程到await之后,执行FinishRunner,await之后语句等待FinishRunner执行完成再执行 | 多个线程countDown之后继续执行,主线程等count为0后,再执行 |
注意
实际情况中需要注意多个线程中的异常处理,和线程池execute和submit使用