主线程等待子线程操作完成
来源:互联网 发布:网络黑侠的小说 编辑:程序博客网 时间:2024/06/08 15:14
主要方法
public CountDownLatch(int count);
public void countDown();
public void await() throws InterruptedException
构造方法参数指定了计数的次数
countDown方法,当前线程调用此方法,则计数减一
awaint方法,调用此方法会一直阻塞当前线程,直到计时器的值为0
例子
public class CountDownLatchDemo {
final static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) throws InterruptedException {
CountDownLatch latch=new CountDownLatch(2);//两个工人的协作
Worker worker1=new Worker("zhang san", 5000, latch);
Worker worker2=new Worker("li si", 8000, latch);
worker1.start();//
worker2.start();//
latch.await();//等待所有工人完成工作
System.out.println("all work done at "+sdf.format(new Date()));
}
static 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(){
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();
}
}
}
}
输出:
Worker zhang san do work begin at 2011-04-14 11:05:11
Worker li si do work begin at 2011-04-14 11:05:11
Worker zhang san do work complete at 2011-04-14 11:05:16
Worker li si do work complete at 2011-04-14 11:05:19
all work done at 2011-04-14 11:05:19
- 主线程等待子线程操作完成
- 主线程等待子线程完成
- 主线程等待子线程完成
- java线程池主线程等待子线程执行完成
- java线程池主线程等待子线程执行完成
- Java主线程等待子线程、线程池完成
- 主线程等待所有子线程完成后再执行
- 主线程等待子线程全部执行完成
- 线程-主线程等待子线程
- java线程池主线程等待子线程执行完成后再继续处理后面工作
- java线程池主线程等待子线程执行完成后再继续处理后面工作
- JAVA主线程等待所有子线程执行完成后主线程再执行
- Java线程池ExecutorService时让主线程等待子线程完成后继续处理
- 主线程等待子线程执行结束
- java 主线程 等待 子线程
- Java实现主线程等待子线程
- 主线程等待子线程结束
- java 主线程等待子线程结束
- javaweb学习总结——数据库连接池
- 几种常见的shell类型
- Java8新特性——StreamAPI(一)
- Win200下PHP服务器的简单配置
- 2007年9月9日
- 主线程等待子线程操作完成
- 防止木马最有效果的办法 (完整篇)
- 思科2811路由器的配置命令!
- 思科2811路由器的配置命令!
- js返回上一页
- 未来网站开发的人员配备
- android按钮点击事件——匿名内部类
- 女人的气质
- :js验证表单大全,用JS控制表单提交 ,javascript提交表单: