如何判断线程运行结束
2019独角兽企业重金招聘Python工程师标准>>>
1.join()
如果是一个线程,可以使用此方法,多个不合适
2.CountDownLatch
此为并发计数器,每个线程结束后减一(countDown()),countDownLatch.await();//等待所有子线程执行完
3.线程池ThreadPoolExecutor的shutdown与awaitTermination方法
executor.shutdown();//只是不能再提交新任务,等待执行的任务不受影响
try {
boolean loop = true;
do { //等待所有任务完成
loop = !executor.awaitTermination(2, TimeUnit.SECONDS); //阻塞,直到线程池里所有任务结束
} while(loop);
} catch (InterruptedException e) {
e.printStackTrace();
}
service.shutdown();
while(!service.awaitTermination(2, TimeUnit.SECONDS)){
System.out.println("service not stop");
}
//或者isTerminated,如果关闭后所有任务都已完成,则返回 true。注意,除非首先调用 shutdown 或 shutdownNow,否则 isTerminated 永不为 true。
executor.shutdown();//只是不能再提交新任务,等待执行的任务不受影响
while(true){
if(exe.isTerminated()){
System.out.println("所有的子线程都结束了!");
break;
}
Thread.sleep(1000);
}
ThreadPoolExecutor.getActiveCount() == 0 ?
转载于:https://my.oschina.net/u/3705388/blog/1828301
如何判断线程运行结束相关推荐
- 当前线程等待某些线程运行结束再执行的几种方案。CountDownLatch机制简单解读以及简单实现
需求背景:如果没有采取什么措施,在开启分支线程后,当前线程继续往后执行,而不会阻塞等待分支线程,代码及运行结果如下. 1. Thread类的join方法 优点:如果当前线程需要指定某些线程结束后再执行 ...
- python判断线程结束_判断Threading.start新线程是否执行完毕的实例
新写自己的Threading类 class MyThread(threading.Thread):#我的Thread类 判断流程结束没 用于os shell命令是否执行判断 def __init__( ...
- python 判断线程状态_Python 线程和进程
前言 学编程,谁没有为线程折腾过啊. 目录 线程与进程 线程与进程是操作系统里面的术语,简单来讲,每一个应用程序都有一个自己的进程. 操作系统会为这些进程分配一些执行资源,例如内存空间等. 在进程中, ...
- python判断线程是否执行完成_判断Threading.start新线程是否执行完毕的实例
新写自己的Threading类 class MyThread(threading.Thread):#我的Thread类 判断流程结束没 用于os shell命令是否执行判断 def __init__( ...
- 创建线程的三种方式、线程运行原理、常见方法、线程状态
文章目录 1.创建线程的三种方式 1.1 继承Thread类并重写run方法 1.2 使用Runnable配合Thread 1.3 通过Callable和FutureTask创建线程 2.Runnab ...
- linux子线程运行的函数_Linux中线程使用详解
4. 线程的属性 前面还说到过线程创建的时候是有属性的,这个属性由一个线程属性对象来描述.线程属性对象由pthread_attr_init()接口初始化,并由pthread_attr_destory( ...
- c++ 等待子线程结束_python主线程与子线程的结束顺序
对于程序来说,如果主进程在子进程还未结束时就已经退出,那么Linux内核会将子进程的父进程ID改为1(也就是init进程),当子进程结束后会由init进程来回收该子进程. 主线程退出后子线程的状态依赖 ...
- 【引用】如何结束线程运行(转)
在一些应用程序中,除非用户去结束应用程序的运行,否则其中的子线程会一直处于运行状态.如果应用程序在结束时不主动通知子线程退出,有可能导致主线程结束后,子线程的系统资源得不到释放.如何通知子线程结束运行 ...
- delphi判断线程是否正在运行
相关资料: http://www.delphitop.com/html/xiancheng/376.html 1 unit Unit1; 2 3 interface 4 5 uses 6 Winapi ...
最新文章
- 鸿蒙系统matepad,C位鸿蒙今日发布,华为WATCH 3、MatePad Pro抢先剧透
- nagios安装与配置详解1
- 用Python对数学函数进行求值、求偏导
- Changes in Android 7 Nougat
- mac开发配置手册(全)
- 巴西政府考虑用微软产品替换开源软件
- php5.5开发环境配置,windows下配置php5.5开发环境及开发扩展
- docker 厂商 容器_疫情期间,Docker让运维人员雪上加霜
- 树莓派4B Ubuntu20.04 ROS2 ORB-SLAM3
- Cool Edit Pro 中把歌曲的原唱声消除掉制作伴奏带
- JS设置select下拉框默认选中
- LRc2022 M1原生支持功能介绍,Lightroom Classic 2022 Mac M1专用 ,解决lr闪退打不开卡死等一系列问题
- 【论文总结】DeepEMD:Few-Shot Image Classification with Differentiable Earth Mover’s Distance(附翻译)
- Pixel2Mesh-Tensorflow2
- 新中大服务器端数据库未能连接,新中大服务器数据库未能连接
- AI修图!pix2pix网络介绍与tensorflow实现
- Getting Started in Six Sigma
- JAVA:实现QuickSort快速排序算法(附完整源码)
- datagridview更新到数据库视频教程地址
- xxljob定时在sftp上传下载
热门文章
- Python中提示:no module named 'PIL'
- 用Scikit-learn和TensorFlow进行机器学习(二)
- Linux——进程信号(总结)
- java 矩形重叠问题_两个矩形重叠的问题
- swift golang java,解决两数之和 (Javascript, Java, C#, Swift, Kotlin, Python,C++, Golang)
- isamchk mysql_利用Myisamchk对MySQL数据表进行体检
- mysql 管理端口_MySQL8新增管理端口
- mysql 服务器优化_如何对MySQL服务器进行调优
- 直播预告丨基于 SDAF 闭环制胜 2022 数字化运营
- 2021 届校招宣讲会来啦!神策数据,与你一起「数说」未来