2 张图,让你一秒理解 CountDownLatch、CyclicBarrier

2020-08-07T11:54:45
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

CountDownLatch (倒数闩,Latch:门闩)

经常用于 监听某些初始化操作,等 初始化线程 全部执行完毕后,才通知 主线程 继续工作

a) 即 一个线程处于阻塞的状态下,他要收到 多少次通知,才能被 苏醒,并继续往下执行
b) 注意:只能阻塞 一个线程
c) "countDown.countDown() 到了 0,并使得 countDown.await() 苏醒" 之后,仍旧能进行 countDown.countDown(),并且不会报错;但是countDown.getCount() 始终为 0

 

CyclicBarrier(同步屏障,cyclic:周期的,循环的,barrier:屏障)

场景假设:每个线程代表一个 跑步运动员,当 所有运动员 都准备好,才能一起出发,只要有一个人没有准备好,那么大家都要等待他

a) 注意:阻塞的是  每个线程

扫一扫关注公众号添加购物返利助手,领红包
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。