电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java并發編程專題(八)----(JUC)實例講解CountDownLatch

瀏覽:5日期:2022-08-29 18:08:33

CountDownLatch 是一個非常實用的多線程控制工具類。” Count Down ” 在英文中意為倒計數, Latch 為門問的意思。如果翻譯成為倒計數門閥, 我想大家都會覺得不知所云吧! 因此,這里簡單地稱之為倒計數器。在這里, 門問的含義是:把門鎖起來,不讓里面的線程跑出來。因此,這個工具通常用來控制線程等待,它可以讓某一個線程等待直到倒計時結束, 再開始執行。

CountDown Latch 的構造函數接收一個整數作為參數,即當前這個計數器的計數個數。

public CountDownLatch(int count)

CountDownLatch是一個同步輔助類,在完成一組正在其他線程中執行的操作之前,它允許一個或多個線程一直等待。一個CountDownLatch初始化為給定的計數 。 調用await方法阻塞,直到當前計數為零,在調用countDown()方法之后,所有等待的線程被釋放,任何后續調用await立即返回。 這是一次性的現象 - 計數不能重置。 如果需要重置計數,考慮使用CyclicBarrier ,CyclicBarrier的計數器可以被重置后使用,因此它被稱為是循環的barrier。

主要方法:

// 使當前線程在鎖存器倒計數至零之前一直等待,除非線程被中斷。void await()// 使當前線程在鎖存器倒計數至零之前一直等待,除非線程被中斷或超出了指定的等待時間。boolean await(long timeout, TimeUnit unit)// 遞減鎖存器的計數,如果計數到達零,則釋放所有等待的線程。void countDown()// 返回當前計數。long getCount()

我們來看一個例子:

public class TestCountDownLatch { private static final int RUNNER_NUMBER = 5; // 運動員個數 private static final Random RANDOM = new Random(); public static void main(String[] args) { // 用于判斷發令之前運動員是否已經完全進入準備狀態,需要等待5個運動員,所以參數為5 CountDownLatch readyLatch = new CountDownLatch(RUNNER_NUMBER); // 用于判斷裁判是否已經發令,只需要等待一個裁判,所以參數為1 CountDownLatch startLatch = new CountDownLatch(1); for (int i = 0; i < RUNNER_NUMBER; i++) { Thread t = new Thread(new Runner((i + 1) + '號運動員', readyLatch, startLatch)); t.start(); } try { readyLatch.await(); } catch (InterruptedException e) { e.printStackTrace(); } startLatch.countDown(); System.out.println('裁判:所有運動員準備完畢,開始...'); } static class Runner implements Runnable { private CountDownLatch readyLatch; private CountDownLatch startLatch; private String name; public Runner(String name, CountDownLatch readyLatch, CountDownLatch startLatch) { this.name = name; this.readyLatch = readyLatch; this.startLatch = startLatch; } public void run() { int readyTime = RANDOM.nextInt(1000); System.out.println(name + ':我需要' + readyTime + '秒時間準備.'); try {Thread.sleep(readyTime); } catch (InterruptedException e) {e.printStackTrace(); } System.out.println(name + ':我已經準備完畢.'); readyLatch.countDown(); try {startLatch.await(); // 等待裁判發開始命令 } catch (InterruptedException e) {e.printStackTrace(); } System.out.println(name + ':開跑...'); } }}

打印結果:

1號運動員:我需要547秒時間準備.2號運動員:我需要281秒時間準備.4號運動員:我需要563秒時間準備.5號運動員:我需要916秒時間準備.3號運動員:我需要461秒時間準備.2號運動員:我已經準備完畢.3號運動員:我已經準備完畢.1號運動員:我已經準備完畢.4號運動員:我已經準備完畢.5號運動員:我已經準備完畢.裁判:所有運動員準備完畢,開始...3號運動員:開跑...2號運動員:開跑...1號運動員:開跑...4號運動員:開跑...5號運動員:開跑...

Process finished with exit code 0

注意:計數器必須大于等于0,只是等于0時候,計數器就是零,調用await方法時不會阻塞當前線程。

以上就是java并發編程專題(八)----(JUC)實例講解CountDownLatch的詳細內容,更多關于java juc CountDownLatch的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | 计算机毕业设计源码网| 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 房在线-免费房产管理系统软件-二手房中介房屋房源管理系统软件 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 北京工业设计公司-产品外观设计-产品设计公司-千策良品工业设计 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 迪威娱乐|迪威娱乐客服|18183620002 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 成都中天自动化控制技术有限公司 | 无锡市珂妮日用化妆品有限公司|珂妮日化官网|洗手液厂家 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 智慧食堂_食堂管理系统_食堂订餐_食堂消费系统—客易捷 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 庭院灯_太阳能景观灯_草坪灯厂家_仿古壁灯-重庆恒投科技 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 | 电脑刺绣_绣花厂家_绣花章仔_织唛厂家-[源欣刺绣]潮牌刺绣打版定制绣花加工厂家 | 机制砂选粉机_砂石选粉机厂家-盐城市助成粉磨科技有限公司 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 耐磨陶瓷,耐磨陶瓷管道_厂家-淄博拓创陶瓷科技 |