CountDownLatch 和CyclicBarrier的区别

区别点CountDownLatchCyclicBarrier
概念一个线程(或者多个), 等待另外N个线程完成某个事情之后才能执行。 N个线程相互等待,任何一个线程完成之前,所有的线程都必须等待。
强调点重点在那《一个主线程》,他来协调其他N个线程执行完以后,主线程在做点其他的事重点是那N个线程,他们之间任何一个没有完成,所有的线程都必须等待。
await等待点在那《一个主线程》里进行await等待,等待所有的其他线程执行完以后,在做主要的事在各个子线程内进行await等待,等待其他线程执行完以后,继续执行自己的下面的事
举例

主线程A,需要等待线程B,线程C,线程D全部执行完以后再继续执行主线程A的其他操作(比如更新完成状态)

(比如火箭发射倒计时,等所有步骤线程都全部准备好以后,每个步骤执行完,进行倒计时减1,直到0,火箭发射!)

像摩天轮游戏,只有大家都坐满了座位以后,才启动摩天轮转动。

如果有一个空位,则也不开始游戏,大家会一直等待,直到没有空位。

(也有点像集结号,集结了所有人以后,再去干一件事)

计数器增减

是从最大的数,逐渐减1,直到0。

即,自大而小。

是从0开始累加,直到累加到规定的数,才开始做事。

即,自小而大。

是否可循环使用不可以循环使用可以循环使用,到达最大值后,自动归零。

下面是一个例子:https://www.cnblogs.com/xiaorenwu702/p/3977833.html

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值