CyclicBarrier的官方解释:函数
A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier point.
CyclicBarrier是一个同步的辅助类,容许一组线程相互之间等待,达到一个共同点,再继续执行。spa
CountDownLatch的官方解释:.net
A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes.
CountDownLatch是一个同步的辅助类,容许一个或多个线程,等待其余一组线程完成操做,再继续执行。线程
CountDownLatch
场景神还原:code
一年级期末考试要开始了,监考老师发下去试卷,而后坐在讲台旁边玩着手机等待着学生答题,有的学生提早交了试卷,并约起打球了,等到最后一个学生交卷了,老师开始整理试卷,贴封条,下班,陪老婆孩子去了。这里提早交卷的学生(能够理解为线程),作完本身的试卷是能够去干本身的事的。而老师只能等待全部的学生所有答完试卷之后才能够干本身的事情。
CountDownLatch
场景补充:orm
玩LOL英雄联盟时会出现十我的不一样加载状态,可是最后一我的因为各类缘由始终加载不了100%,因而游戏系统自动等待全部玩家的状态都准备好,才展示游戏画面。
抽象图:(感受很形象)blog
每位乘客(线程)上车后,可用座位减1,直到为0,老司机就开始发车了。游戏
CyclicBarrier:可当作是个障碍,全部的线程必须到齐后才能一块儿经过这个障碍。
CyclicBarrier
场景:公司组织户外拓展活动,帮助团队建设,其中最重要一个项目就是全体员工(包括女同事,BOSS)在完成其余项目时,到达一个高达四米的高墙没有任何抓点,要求全部人,一个不能少的越太高墙,才能继续进行其余项目。其中越太高墙的人,并不能干本身的事,或者去进行下一个项目,必须所有人员都翻太高墙后才能够进行下一个项目。图片
总结:
以上内容大部分来自:https://blog.csdn.net/zzg1229...rem