java多线程Thread-线程调度类CountDownLatch计数器
来源:互联网 发布:淘宝店装修模板自己做 编辑:程序博客网 时间:2024/06/13 06:52
实现多线程,首先要这个要进行多线程运行的类,需要继承Thread类,然后去重写它的run方法。package Thread;
import java.util.concurrent.CountDownLatch;
/**
* 2017-4-6
* author:饶为
* Administrator
*/
public class WaterCountDownLatch extends Thread{//多线程的类要继承Thread类,然后去复写它的run()方法
private int time;
private CountDownLatch cdl;
public WaterCountDownLatch(int time,CountDownLatch cdl){
this.time = time;
this.cdl = cdl;
}
/* (non-Javadoc)
* @see java.lang.Thread#run()
*/
public void run() { //重写这个方法,在start()方法中会执行。
// TODO Auto-generated method stub
System.out.println("这个水杯开始装水");
try {
Thread.sleep(time);//让进程停止在这里,相当于是模拟接水
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("这杯水装满了,花了"+time+"毫秒");
cdl.countDown();//注意咯!计数器减数咯!
}
}
package Thread;
import java.util.concurrent.CountDownLatch;
/**
* 2017-4-6
* author:饶为
* Administrator
*/
public class DoWater {
public static void main(String[] args) {
CountDownLatch cdl = new CountDownLatch(2);//这里要说明,执行的是几个线程。//这里不能多写,有几个进程写几个,否则会死锁。因为只执行了两次cdl.countDown()方法,如果填写5,//那么还有3次没有结果,就会一直阻塞在那里。
WaterCountDownLatch wcdlone = new WaterCountDownLatch(5000, cdl);
WaterCountDownLatch wcdltwo = new WaterCountDownLatch(7000, cdl);
wcdlone.start();//进程开始,直接使用start不用调用run方法,否则启动的不是进程
wcdltwo.start();
try {
cdl.await();//阻塞,只有CountDownLatch减完,为0,才会继续。
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("水终于打完了");//因为阻塞通了,所以才执行的这代码
}
}
- java多线程Thread-线程调度类CountDownLatch计数器
- Java多线程--同步计数器CountDownLatch
- java多线程:13、CountDownLatch同步辅助类【计数器】
- Java多线程编程-(6)-两种常用的线程计数器CountDownLatch和循环屏障CyclicBarrier
- Java多线程编程-(8)-两种常用的线程计数器CountDownLatch和循环屏障CyclicBarrier
- 多线程计数器锁存器---CountDownLatch
- java多线程-Thread线程调度CyclicBarrier循环屏障
- Java线程(Thread)调度
- java-day07-Thread-线程调度
- Java中的计数器CountDownLatch
- java CountDownLatch 同步计数器
- java线程池 与 同步计数器CountDownLatch的使用。
- Java线程计数器CyclicBarrier和CountDownLatch的使用
- CountDownLatch相关线程倒计时计数器
- java多线程中线程同步工具-CountDownLatch
- 12____java线程同步工具类之同步计数器(CountDownLatch)
- Java 多线程CountDownLatch、CyclicBarrier、Thread.join方法基本用法
- java多线程Thread join与CountDownLatch源码分析
- dagger2的基本使用一
- maven常见问题二
- C++ static、const和static const类型成员变量声明以及初始化
- java读取图片插入blob,并取出
- 【持续更新】简单记录一下常用的设计模式
- java多线程Thread-线程调度类CountDownLatch计数器
- RunTime 大神之路
- html乱码,文件乱码
- java多线程-Thread线程调度CyclicBarrier循环屏障
- java多线程Thread-Semaphore控制信号量
- Redis.config配置详解
- java多线程-Thread两个线程交换数据Exchanger
- git常用命令
- 举栗说明iaas、SaaS和paas的区别