java 父线程_Java父线程(或是主线程)等待所有子线程退出的实例
导读热词
实例如下:
static void testLock1(){
final AtomicInteger waitCount = new AtomicInteger(30000);
final Object waitObj = new Object();
System.out.println("start"+System.currentTimeMillis());
for (int i=0;i<30000;i++) {
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
waitCount.decrementAndGet();
synchronized(waitObj){
waitObj.notifyAll();
}
}
}).start();
}
while( waitCount.intValue()>0) {
synchronized (waitObj) {
if(waitCount.intValue()>0){
try {
waitObj.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
System.out.println("ok"+System.currentTimeMillis());
}
static void testLock2(){
final CountDownLatch workLauch = new CountDownLatch(30000);//计数器
System.out.println("start2"+System.currentTimeMillis());
for (int i=0;i<30000;i++) {
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
workLauch.countDown();
}
}).start();
}
try {
workLauch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("ok2"+System.currentTimeMillis());
}
public static void main(String[] args) {
testLock1();
testLock2();
}
第一种是我随便写的实现,有点糙。第二种是朋友告知的一个类,java的concurrent中的,据说还有几个相似功能的类实现。这30000个线程 时间差大概是不到200ms的样子
以上这篇Java父线程(或是主线程)等待所有子线程退出的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
相关文章
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
java 父线程_Java父线程(或是主线程)等待所有子线程退出的实例相关推荐
- Java多线程、主线程等待所有子线程执行完毕、共享资源
1.Java创建与启动线程 Java提供两种方式创建和启动线程:1.直接Thread类,2.实现Runable接口. 1.1 继承Thread类 public class myThread exte ...
- java主线程等待所有子线程执行完毕再执行
java主线程等待所有子线程执行完毕在执行,这个需求其实我们在工作中经常会用到,比如用户下单一个产品,后台会做一系列的处理,为了提高效率,每个处理都可以用一个线程来执行,所有处理完成了之后才会返回给用 ...
- 主线程等待所有子线程结束的4种方法
目录 主线程不等待子线程全部结束 1.使用CountDownLatch 2.同步屏障CyclicBarrier 2.1.CyclicBarrier使用 2.2.CyclicBarrier复用 2.3. ...
- python 主程序等待 子线程_Python多线程中主线程等待所有子线程结束的方法
Python多线程中主线程等待所有子线程结束的方法 发布时间:2020-07-30 14:39:04 来源:亿速云 阅读:77 作者:小猪 这篇文章主要讲解了Python多线程中主线程等待所有子线程结 ...
- Java主线程等待所有子线程执行完毕再执行解决办法(转)
方法一: Thread.join()方法,亲测可行,thread.join()方法 [java] view plain copy Vector<Thread> ts = new Vecto ...
- [Java][Android] 多线程同步-主线程等待全部子线程完毕案例
有时候我们会遇到这种问题:做一个大的事情能够被分解为做一系列相似的小的事情,而小的事情无非就是參数上有可能不同样而已! 此时,假设不使用线程,我们势必会浪费许多的时间来完毕整个大的事情.而使用线程的话 ...
- 主线程和子线程的关系(讨论主线程结束,子线程是否要回收)
主线程和子线程,在操作系统里面其实是一样的,没有本质区别.至于主线程结束,子线程是否要回收,下面有两种比较特殊的情况. 第一种: 主线程退出了,子线程还可以执行. 主要是因为pthread_exit函 ...
- 主线程等待几个子线程执行完成方案
有时,为了程序的性能,我们有必要对程序中的for循环(含有sql/rpc操作)进行并发处理,要求是并发处理完之后才能继续执行主线程.现给出如下两种方案: 1. CountDownLatch Java代 ...
- java等待5秒_Java并发编程-主线程等待子线程解决方案
主线程等待所有子线程执行完成之后,再继续往下执行的解决方案 public class TestThread extends Thread { public void run() { System.ou ...
最新文章
- 独家 | 如何手动优化神经网络模型(附链接)
- 报名 | IBM苏中:从深蓝到AlphaGo,从大数据到认知商业
- H264 Profile对比分析
- ols残差_python数据关系型图表散点图系列残差分析图
- Java创建一个学生类
- 第一个MVVM wp7程序
- android 产品上线流程图,产品上线工作流程(试行)20050302.doc
- 尝试docker1.12内置swarm
- Edge浏览器快捷键
- 博士申请 | 浙江大学孙优贤院士课题组招收智能无人系统方向硕士生/博士生
- 高通证实MSM8998就是骁龙835
- 联想拯救者y9000x和R9000X有什么区别 选哪个
- mysql备份导出数据库结构_MySql数据库导出完整版(导出数据库,导出表,导出数据库结构)详解...
- 鸢尾花数据集的线性多分类
- vue3+vite UC浏览器兼容
- 【LeetCode-SQL】196. 删除重复的电子邮箱
- mysql数据被截断_Mysql5.7中使用groupconcat函数数据被截断的问题完美解决方法
- 自己动手搭建Fabric网络,修改当前工作目录名之后出现的错误
- 一文分析 Web3 尚未被主流采用的 6 个主要原因
- VMware Workstation 安装中标麒麟V6桌面版操作系统
热门文章
- Runloop, 多线程
- Struts和Spring使用的模板初探
- struts1-2,springMVC原理基本对比(单例,多例)-servlet与filter区别
- 计算比尔盖茨財富的方法
- CXF做的webservice简单例子
- oracle网站wget下载
- SSAS : 如何禁用SSAS的QueryLog
- 2018年计算机职称考试冲刺,2018年中级会计职称考试考前30天冲刺计划和学习方法...
- alert()的功能_前端实现简单的图片上传小图预览功能
- mysql random_Mysql中随机函数笔记