CountDownLatch的使用 Java
来源:互联网 发布:搜狗 mac怎么用 编辑:程序博客网 时间:2024/06/05 17:12
首先讲一下这个类是干嘛的:
这是java中的同步辅助类。作用:在完成一组正在其他线程中执行的操作之前,它允许线程一直等待。这个类使用一个整数进行初始化,这个整数就是线程等待完成的操作数目。当一个线程要等待某些操作先执行完时,需要调用await()方法,这个方法让线程进入休眠直到等待的所有操作都完成。当某一个操作完成后,他将调用countDown()方法将CountDownLatch类的内部计数器减一。当计数器变成0的时候,CountDownLatch类将唤醒所有调用await方法而进入休眠的线程。
代码小例子:
import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.CountDownLatch;public class CountdownLatchDemo {public static void main(String[] args) {CountDownLatch latch = new CountDownLatch(2);Worker w1 = new Worker("Fishing",2000,latch);Worker w2 = new Worker("Astall",1000,latch);w1.start();w2.start();try {latch.await();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("All work done!!");}}class Worker extends Thread {String workerName;int workTime;CountDownLatch latch;public Worker(String workerName, int workTime, CountDownLatch latch) {this.workerName = workerName;this.workTime = workTime;this.latch = latch;}public void run() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("Worker"+workerName+"do work begin at"+sdf.format(new Date()));doWork();System.out.println("Worker"+workerName+"do work complete at" + sdf.format(new Date()));latch.countDown();}private void doWork() {try {Thread.sleep(workTime);} catch (InterruptedException e) {e.printStackTrace();}}}
阅读全文
0 0
- CountDownLatch的使用 Java
- Java CountDownLatch类的使用
- java CountDownLatch类的使用
- Java中CountDownLatch的使用
- Java多线程CountDownLatch的使用
- java线程中锁存器CountDownLatch的使用
- java CountDownLatch很简单的使用例子
- Java线程池及CountDownLatch的使用
- java线程中锁存器CountDownLatch的使用
- Java并发编程CountDownLatch的使用1
- Java并发编程CountDownLatch的使用2
- java.util.concurrent.CountDownLatch 的使用案例
- Java多线程之CountDownLatch的使用
- Java之CountDownLatch使用
- java CountDownLatch使用
- java CountDownLatch使用
- Java之CountDownLatch使用
- Java之CountDownLatch使用
- 谷歌推进“Actions on Google”计划,对抗亚马逊的“Alexa Skills”
- ARM研发大脑芯片,帮助脑损伤患者恢复正常工作状态
- Linux操作系统,笔记本如何配置外接显示器
- 这是一封环球创业大赛邀请函
- 测试驱动开发TDD使用心得
- CountDownLatch的使用 Java
- 刷网页卡到想吐?谷歌要用网页版“小程序”来拯救你
- 关于Google Assistant,你想知道的都在这里了丨Google I/O 2017
- 头头是道、清科集团等百家知名投资机构必备智能会议产品大揭密
- hello world
- 从vivo电子器件商业伙伴大会看产品创新
- Google Home试图超越Amazon Echo,通话功能更加惊喜!| Google I/O2017
- 详解Google第二代TPU,既能推理又能训练,性能霸道 | Google I/O 2017
- 腾讯反病毒实验室:揭秘WannaCry勒索病毒的前世今生