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

如何判断线程运行结束相关推荐

  1. 当前线程等待某些线程运行结束再执行的几种方案。CountDownLatch机制简单解读以及简单实现

    需求背景:如果没有采取什么措施,在开启分支线程后,当前线程继续往后执行,而不会阻塞等待分支线程,代码及运行结果如下. 1. Thread类的join方法 优点:如果当前线程需要指定某些线程结束后再执行 ...

  2. python判断线程结束_判断Threading.start新线程是否执行完毕的实例

    新写自己的Threading类 class MyThread(threading.Thread):#我的Thread类 判断流程结束没 用于os shell命令是否执行判断 def __init__( ...

  3. python 判断线程状态_Python 线程和进程

    前言 学编程,谁没有为线程折腾过啊. 目录 线程与进程 线程与进程是操作系统里面的术语,简单来讲,每一个应用程序都有一个自己的进程. 操作系统会为这些进程分配一些执行资源,例如内存空间等. 在进程中, ...

  4. python判断线程是否执行完成_判断Threading.start新线程是否执行完毕的实例

    新写自己的Threading类 class MyThread(threading.Thread):#我的Thread类 判断流程结束没 用于os shell命令是否执行判断 def __init__( ...

  5. 创建线程的三种方式、线程运行原理、常见方法、线程状态

    文章目录 1.创建线程的三种方式 1.1 继承Thread类并重写run方法 1.2 使用Runnable配合Thread 1.3 通过Callable和FutureTask创建线程 2.Runnab ...

  6. linux子线程运行的函数_Linux中线程使用详解

    4. 线程的属性 前面还说到过线程创建的时候是有属性的,这个属性由一个线程属性对象来描述.线程属性对象由pthread_attr_init()接口初始化,并由pthread_attr_destory( ...

  7. c++ 等待子线程结束_python主线程与子线程的结束顺序

    对于程序来说,如果主进程在子进程还未结束时就已经退出,那么Linux内核会将子进程的父进程ID改为1(也就是init进程),当子进程结束后会由init进程来回收该子进程. 主线程退出后子线程的状态依赖 ...

  8. 【引用】如何结束线程运行(转)

    在一些应用程序中,除非用户去结束应用程序的运行,否则其中的子线程会一直处于运行状态.如果应用程序在结束时不主动通知子线程退出,有可能导致主线程结束后,子线程的系统资源得不到释放.如何通知子线程结束运行 ...

  9. delphi判断线程是否正在运行

    相关资料: http://www.delphitop.com/html/xiancheng/376.html 1 unit Unit1; 2 3 interface 4 5 uses 6 Winapi ...

最新文章

  1. 鸿蒙系统matepad,C位鸿蒙今日发布,华为WATCH 3、MatePad Pro抢先剧透
  2. nagios安装与配置详解1
  3. 用Python对数学函数进行求值、求偏导
  4. Changes in Android 7 Nougat
  5. mac开发配置手册(全)
  6. 巴西政府考虑用微软产品替换开源软件
  7. php5.5开发环境配置,windows下配置php5.5开发环境及开发扩展
  8. docker 厂商 容器_疫情期间,Docker让运维人员雪上加霜
  9. 树莓派4B Ubuntu20.04 ROS2 ORB-SLAM3
  10. Cool Edit Pro 中把歌曲的原唱声消除掉制作伴奏带
  11. JS设置select下拉框默认选中
  12. LRc2022 M1原生支持功能介绍,Lightroom Classic 2022 Mac M1专用 ,解决lr闪退打不开卡死等一系列问题
  13. 【论文总结】DeepEMD:Few-Shot Image Classification with Differentiable Earth Mover’s Distance(附翻译)
  14. Pixel2Mesh-Tensorflow2
  15. 新中大服务器端数据库未能连接,新中大服务器数据库未能连接
  16. AI修图!pix2pix网络介绍与tensorflow实现
  17. Getting Started in Six Sigma
  18. JAVA:实现QuickSort快速排序算法(附完整源码)
  19. datagridview更新到数据库视频教程地址
  20. xxljob定时在sftp上传下载

热门文章

  1. Python中提示:no module named 'PIL'
  2. 用Scikit-learn和TensorFlow进行机器学习(二)
  3. Linux——进程信号(总结)
  4. java 矩形重叠问题_两个矩形重叠的问题
  5. swift golang java,解决两数之和 (Javascript, Java, C#, Swift, Kotlin, Python,C++, Golang)
  6. isamchk mysql_利用Myisamchk对MySQL数据表进行体检
  7. mysql 管理端口_MySQL8新增管理端口
  8. mysql 服务器优化_如何对MySQL服务器进行调优
  9. 直播预告丨基于 SDAF 闭环制胜 2022 数字化运营
  10. 2021 届校招宣讲会来啦!神策数据,与你一起「数说」未来