java 主线程 等待 子线程
来源:互联网 发布:calibre软件 编辑:程序博客网 时间:2024/06/04 19:46
问题描述:主线程开启1个子线程去做事情,之后主线程就无事可做了,但有必须等待子线程结束,其实可以让主线程结束,但是这样应该是不安全的。
无奈写了给while(true){
Thread.sleep(5000);
}
最近发现有更好的方法:使用java 的 CountDownLatch 类
public class ImportThread extends Thread {
private CountDownLatch threadsSignal;
public ImportThread(CountDownLatch threadsSignal) {
this.threadsSignal = threadsSignal;
}
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "开始...");
//Do somethings
threadsSignal.countDown();//线程结束时计数器减1
System.out.println(Thread.currentThread().getName() + "结束. 还有" + threadsSignal.getCount() + " 个线程");
}
}
主线程
CountDownLatch threadSignal = new CountDownLatch(threadNum);//初始化countDown
for (int ii = 0; ii < threadNum; ii++) {//开threadNum个线程
final Iterator<String> itt = it.get(ii);
Thread t = new ImportThread(itt,sql,threadSignal);
t.start();
}
threadSignal.await();//等待所有子线程执行完
System.out.println(Thread.currentThread().getName() + "结束.");//打印结束标记
- java 主线程 等待 子线程
- Java实现主线程等待子线程
- java 主线程等待子线程结束
- Java主线程等待子线程结束
- Java实现主线程等待子线程
- Java实现主线程等待子线程
- java线程池主线程等待子线程执行完成
- Java主线程等待子线程、线程池
- java线程池主线程等待子线程执行完成
- Java主线程等待子线程、线程池
- Java主线程等待子线程、线程池
- Java主线程等待子线程、线程池
- Java主线程等待子线程、线程池
- Java主线程等待子线程、线程池
- Java主线程等待子线程、线程池完成
- Java主线程等待子线程、线程池
- Java主线程等待子线程、线程池
- Java:主线程和子线程-----主线程等待子线程结束
- POJ3686-KM匹配模板题
- android 事件处理
- HDU-1075-What Are You Talking About
- MyEclipse中的启动项的配置以及新建java文件头注释格式的设置
- 大势所趋话开源——中国开源现状分析
- java 主线程 等待 子线程
- Jsp 防止表单重复提交几种方案
- android UI进阶之用ViewPager实现欢迎引导页面
- Objective-C研究院之NSMutableString(四)
- 一生都学不完的计谋
- python模块的打包
- android init.rc语法标准 .
- usaco Ordered Fractions
- FPGA学习心得——矩阵键盘