CountDownLatch与CyclicBarrier区别,举例
Posted 川雨淅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CountDownLatch与CyclicBarrier区别,举例相关的知识,希望对你有一定的参考价值。
1、CountDownLatch 等待一个或多个线程执行完,再执行。
栗子:飞机起飞前各个检查完,起飞。
初始化:
CountDownLatch countD = new CountDownLatch(3);
起飞进程wait(),阻塞;
每个检查完,countD.countDown();
当countD直到为0,起飞。
2、CyclicBarrier 等待过个线程准备好后,统一执行。
栗子:所有飞机到位后,统一起飞。
CyclicBarrier barrier = new CyclicBarrier(3);
for(int i = 0; i < 3; i++){
plan.prepare();
barrer.await();
}
以上是关于CountDownLatch与CyclicBarrier区别,举例的主要内容,如果未能解决你的问题,请参考以下文章
CountDownLatch与CyclicBarrier与Semaphore的区别