范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

说一说你对CyclicBarrier的理解

  【死记硬背】
  【概念】CyclicBarrier即循环栅栏,就是一个可以循环利用的屏障。它也是一个同步辅助类,允许两个或者多个线程在某个点上进行同步。
  【原理】CyclicBarrier使用一个整形数进行初始化,这个数是需要在某个点上同步的线程数。当一个线程到达指定的点后,它将调用await()方法等待其他的线程。当线程调用await()方法后,CyclicBarrier将阻塞这个线程并使之休眠直到所有其他线程到达。当最后一个线程调用await()方法时,CyclicBarrier对象将唤醒所有在等待的线程,然后这些线程将继续执行。
  【性质】CyclicBarrier与CountDownLatch有所不同,它可以被循环重置为初始状态,并把它的内部计数器重置成初始化时的值,而CountDownLatch只能使用一次。
  【举例】比如公司组织员工爬山,提前分成了5组,每组6人,当每一组的人到齐后,可以开始爬山,这样可以循环5次,就可以用CyclicBarrier。
  【答案解析】
  CyclicBarrier的核心方法是await(),有两种方式:// 无参的await() public int await() throws InterruptedException, BrokenBarrierException {   try {     return dowait(false, 0L);   } catch (TimeoutException toe) {     throw new Error(toe); // cannot happen   } } // 有参的await() public int await(long timeout, TimeUnit unit) throws InterruptedException,   BrokenBarrierException,   TimeoutException {     return dowait(true, unit.toNanos(timeout));   }
  下面是同学一起分组去吃饭使用CyclicBarrier的Demo:import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;  public class CyclicBarrierTest {     private static final int THREAD_NUMBER = 3;     private static CyclicBarrier sCyclicBarrier = new CyclicBarrier(             THREAD_NUMBER, new Runnable() {         @Override         public void run() {             System.out.println("大家都到达了宿舍楼下,一起出发吧…");         }     });     public static void main(String[] args) {         ExecutorService executorService = Executors                 .newFixedThreadPool(THREAD_NUMBER);         for (int i = 0; i < THREAD_NUMBER; i++) {             executorService.execute(new WalkFromDomitoryToCanteenRunnable(                     sCyclicBarrier, "同学" + i));         }         try {             Thread.sleep(3000);// 主线程睡眠         } catch (InterruptedException e) {             e.printStackTrace();         }         System.out.println("CyclicBarrier重用");         for (int i = THREAD_NUMBER; i < THREAD_NUMBER * 2; i++) {             executorService.execute(new WalkFromDomitoryToCanteenRunnable(                     sCyclicBarrier, "同学" + i));         }         executorService.shutdown();     }     /**      * 从宿舍到食堂线程      */     public static class WalkFromDomitoryToCanteenRunnable implements Runnable {         private CyclicBarrier mCyclicBarrier;         private String mName;         public WalkFromDomitoryToCanteenRunnable(CyclicBarrier cyclicBarrier,                                                  String name) {             this.mCyclicBarrier = cyclicBarrier;             this.mName = name;         }         @Override         public void run() {             System.out.println(mName + "开始从宿舍出发…");             try {                 Thread.sleep(1000);                 mCyclicBarrier.await();// 等待别同学                 // 前往食堂                 System.out.println(mName + "开始从宿舍楼下出发…");                 Thread.sleep(1000);                 System.out.println(mName + "达到食堂…");             } catch (InterruptedException e) {                 e.printStackTrace();             } catch (BrokenBarrierException e) {                 e.printStackTrace();             }         }     } }
  【温馨提示】
  点赞+收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!

杰伦用的耳机怎样?来看1MORESpearheadVR电竞耳机体验!今年的英雄联盟S8全球总决赛,中国俱乐部IG夺冠的消息一出,瞬间上了微博热搜,可见电竞赛事在国内的追捧程度还是相当高的,当然能够夺冠的原因不仅仅是iG成员相互默契配合,拿出自己秘密小米生态链爆品上手YeelightPrime护眼台灯,让你爱读书学习!很早之前就想买一台适合自己平时晚上看书用的智能台灯,去了实体店看了几次,发现大多数功能平平无奇,基本都只停留在三到四档的亮度调节,外观用料用是比较有年代感的工程塑料,且外形设计也是OPPO份额大涨,成为一月份销量的赢家?手机市场的竞争一直都是很激烈,可谓是神仙打架各凭本事,而市场上的格局也不会按照我们所想的一样去进行发展,也许这一季度是某个厂商排名第一,但是下个季度估计就是重新洗牌了。就好比国内第我心澎湃的自研芯片首次亮相,小米发力折叠屏市场就在昨天,小米举行了第二次发布会,让人期待已久的折叠屏手机也终于来了,知道的人都知道该款手机被命名为MIXFOLD,在发布会现场,雷军依次向大家展现了该款折叠屏的亮点,不仅在配置上当今手机的高端中端和低端到底是怎么划分档次的?当今手机的旗舰高端中端和低端到底是怎么划分的?是按照价格定位还是配置?可是这样一来好像不管是价格还是配置都不对,因为有的中端机配置很好,但性价比也高,然后有些高端机价格高,配置却还手机芯片紧缺,影响供货,这类现象又会持续多久?芯片,是这个世界上最先进的技术,关注这一块的人估计就知道,它是推动手机运行的关键硬件,而芯片的性能也决定了手机的性能和定位,但是在今年,手机市场却出现了芯片紧张的问题,不管是汽车行起售1799,realme真我GTNeo的优缺点汇总三月份的新机真的是扎堆得来,眼看都是月底了,还有发布会出来,就在今天下午真我GTNeo正式发布,其实OPPO的realme系列在大家知晓以来一直也都发展很好,这次新机也一样在性能上安卓之光真的是吹的吗?小米11Ultra值不值这个称号?小米,这个品牌近几年也一直在更新创新,而昨晚上发布的小米11Ultra也是很惹人关注,但其实从去年的小米10系列开始,就一直再走高端路线,每次发布的新机配置也是堆料满满放大招,所以骁龙870被拉到1999,那即将现身的骁龙775又会定价多少在前段时间,高通发布了骁龙888,但是因为骁龙888的功耗和性能没达到预期,甚至出现崩盘的情况,高通又发布了一款骁龙870旗舰级别的芯片,原以为,这款芯片的性能只是在骁龙888以下一加9和一加9Pro哪个值得买?咱来捋一捋优缺点今天一加9系列正式发布,不过说到一加品牌,可以说比起其他品牌推出新机是比较少,相对于机海战术,一加的每款新机都比较精致,而9系列也是疯狂堆料,价格也不会太过离谱,哪怕对比前代也只是买不起更修不起,折叠屏维修费用实在让人咂舌自2019年折叠屏现世以来,昂贵的价格直接就劝退了一大批消费者,但是折叠屏的高昂价格并不仅仅在于定价上,更是在维修上也是,甚至于有些关键部件的维修价更是非同一般,尤其是核心的屏幕方
都是溢价显卡闹的!499元带显卡的E3V6处理器继续破解功耗仅40W魔改君已经很少参与最近的零售显卡市场了,一方面是因为能力不足,另外一方面也是感觉形势和价格实在太过乱套。不过抱着看热闹不怕事大的心态,也能发现一些有趣的问题挖矿方面不再像之前一样坚15个10000元的AMD锐龙3600ES版处理器跑分15万什么原因瞬间售罄之前在粉丝团里看到很多小伙伴们,对价格600多元的AMDR53600ES版处理器很有兴趣,其实就连魔改君自己也同样很有兴趣。但是搜遍了全网也找不到测试数据。普通人在乎的可能就是看看OPPO前副总裁道破玄机安卓旗舰摄像头为何爱凑数?可能有不少网友发现了,今年的安卓旗舰新机,已经减弱了长焦配置,反而是双主摄大行其道。但是手机总体的摄像头数量并没有减少,依然是三摄四摄居多,因而广角超广角之外的黑白人像微距等镜头,周迅胡歌共同给它代言,这家国产高端品牌有哪些魅力?在演艺圈,微博热搜可以说是衡量演员人气的一个最直观指标。大家最熟悉的莫过于汪峰上头条的梗,但和汪峰不同的是,有的人上热搜就如吃饭饮水。比如最近微博热搜第一的内容,就是胡歌穿保安服客Linux之rmdir命令rmdir删除一个空目录,rmr目录也可以删除一个目录,但是不管空不空都删除,比较危险,rmdir目录不为空删除不了。删除某目录必须对父目录有写的权限。命令格式rmdir选项目录命末代皇帝溥仪的婚姻5位妻子3个闹离婚,一个还生下别人的孩子作为清朝最后一个皇帝,溥仪从来没有掌握一天国家政权,和大伯光绪皇帝的傀儡命运相比,有的更多的是花边新闻。他先后娶了五位妻子,那么溥仪和她们的命运走向究竟如何呢?溥仪1924年,溥仪乾隆风流情史六下江南只为求得美人?娶媳妇都娶到外国乾隆被称为古代最风流皇帝,为了大饱眼福一生六次南巡,娶媳妇连外国友人都深藏宫中。乾隆后宫佳丽众多,光嫔妃就有41位,真不枉做一回皇帝,历史中的乾隆真的是如此风流么?真实的他到底是什康熙为何让容妃刷马桶?孝庄临终前交代了什么?苏麻喇姑最有争议在康熙的一生中有这样三个女人祖母孝庄怎样帮助康熙成就大业的?曾备受宠爱的容妃为何死前还在刷马桶?苏麻拉姑是否是康熙的青梅竹马?让华叔带带大家一一了解。康熙就在玄烨继位前夕,孝庄面见康熙烂漫情史一生娶了4对姐妹花,为何热衷于妻子的妹妹?康熙在位61年里,让人啧啧称奇的是,他的后妃竟达65个,这还不算上没有名号的。而在这些嫔妃里,有4对还是姐妹花,为何康熙这么热衷于娶自己的小姨子?是真的出于私欲还是政治目的?为何到武则天神秘情史四位男宠如何讨女皇欢心?命运又有何不同?掐死自己的女儿,毒杀大儿子李弘幽禁二儿子李贤,流放三儿子李旦,武则天在走向权力巅峰的过程中,受到到种种非议。作为一代女皇,她的情史更让人津津乐道,那么曾和她关系亲密的人到底是何结局康熙为何如此恨姚启圣?恨不得杀一千次?明珠一句话道破原因姚启圣到底何许人也,康熙对其恨之入骨却无可奈何。曾为清朝立下汗马功劳,仍无法缓解康熙心中的愤恨,康熙为何不在收复台澎之后将其杀之,原来康熙在下一盘大棋,天下人皆沦为棋子。姚启圣姚启