shutdown
void shutdown()
启动一次顺序关闭,执行以前提交的任务,但不接受新任务。若已经关闭,则调用没有其他作用。
抛出:SecurityException - 如果安全管理器存在并且关闭,此 ExecutorService 可能操作某些不允许调用者修改的线程(因为它没有保持RuntimePermission("modifyThread")),或者安全管理器的 checkAccess 方法拒绝访问。

isTerminated
boolean isTerminated()
若关闭后所有任务都已完成,则返回true。注意除非首先调用shutdown或shutdownNow,否则isTerminated永不为true。返回:若关闭后所有任务都已完成,则返回true。

  1. public static void moreThread() {
  2. try {
  3. int threadNum = 0;
  4. for (int i = 0; i < 10; i++) {
  5. threadNum++;
  6. final int currentThreadNum = threadNum;
  7. exe.execute(new Runnable() {
  8. @Override
  9. public void run() {
  10. try {
  11. System.out.println("子线程[" + currentThreadNum + "]开启");
  12. Thread.sleep(1000*10);
  13. } catch (InterruptedException e) {
  14. e.printStackTrace();
  15. }finally{
  16. System.out.println("子线程[" + currentThreadNum + "]结束");
  17. }
  18. }
  19. });
  20. }
  21. System.out.println("已经开启所有的子线程");
  22. exe.shutdown();
  23. System.out.println("shutdown():启动一次顺序关闭,执行以前提交的任务,但不接受新任务。");
  24. while(true){
  25. if(exe.isTerminated()){
  26. System.out.println("所有的子线程都结束了!");
  27. break;
  28. }
  29. Thread.sleep(1000);
  30. }
  31. } catch (InterruptedException e) {
  32. e.printStackTrace();
  33. }finally{
  34. System.out.println("主线程结束");
  35. }
  36. }
    1. 子线程[1]开启
    2. 子线程[6]开启
    3. 子线程[2]开启
    4. 子线程[5]开启
    5. 子线程[9]开启
    6. 已经开启所有的子线程
    7. 子线程[3]开启
    8. 子线程[7]开启
    9. 子线程[10]开启
    10. shutdown():启动一次顺序关闭,执行以前提交的任务,但不接受新任务。
    11. 子线程[4]开启
    12. 子线程[8]开启
    13. 子线程[6]结束
    14. 子线程[3]结束
    15. 子线程[7]结束
    16. 子线程[2]结束
    17. 子线程[1]结束
    18. 子线程[5]结束
    19. 子线程[9]结束
    20. 子线程[4]结束
    21. 子线程[10]结束
    22. 子线程[8]结束
    23. 所有的子线程都结束了!
    24. 主线程结束

shutdown&&isTerminated的更多相关文章

  1. shutdown彻底关闭tomcat,以及多线程关闭

    最近做的一个Web项目,发现shutdown.sh后,无法关掉tomcat进程. ps -ef | grep tomcat 返回tomcat进程仍然存在.经过调查发现是因为在Web应用中启动了线程池, ...

  2. ThreadPoolExecutor 中的 shutdown() 、awaitTermination() 、 shutdownNow() 的用法

    shutdown和awaitTermination为接口ExecutorService定义的两个方法,一般情况配合使用来关闭线程池. 方法简介shutdown方法:将线程池状态置为SHUTDOWN.平 ...

  3. Java线程池关闭1-shutdown和isTerminated<转>

    shutdownvoid shutdown()启动一次顺序关闭,执行以前提交的任务,但不接受新任务.若已经关闭,则调用没有其他作用.抛出:SecurityException - 如果安全管理器存在并且 ...

  4. Java线程池,isShutDown、isTerminated的作用与区别

    isShutDown当调用shutdown()或shutdownNow()方法后返回为true. isTerminated当调用shutdown()方法后,并且所有提交的任务完成后返回为true;is ...

  5. Tomcat shutdown执行后无法退出进程问题排查及解决

    问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事.而且我内心总觉得这可能是tomcat像nginx一 ...

  6. apche启动错误|httpd.pid overwritten — Unclean shutdown of previous Apache run?

    APACHE启动成功,但无法接受任何请求,查看ERROR.LOG文件[warn] pid file /opt/apache/logs/httpd.pid overwritten - Unclean s ...

  7. 登陆Oracle,报oracle initializationg or shutdown in progress 错误提示

    前两天,登陆Oracle,发现登陆不上去了,报”oracle initializationg or shutdown in progress 错误提示” 错误. 然后就想着怎么去解决,首先自己到win ...

  8. init shutdown reboot poweroff halt区别

    init 首先看看LINUX系统几种运行级别# 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)# 1 - 单用户模式# 2 - 多用户,没有 NFS# 3 - 完全多用户 ...

  9. 谢欣伦 - 原创软件 - 工具软件 - 快速关机Shutdown

    快速关机Shutdown,含源码. 公司公用的笔记本电脑实在太烂,不知从什么时候开始关机永远都关不了,一直停留在“关闭系统中……”.忍无可忍之下,自己写了一个快速关机程序. 下载: Shutdown_ ...

随机推荐

  1. 6 admin(注册设计)源码解析、单例模式

    1.单例模式 https://www.cnblogs.com/yuanchenqi/articles/8323452.html 单例模式(Singleton Pattern)是一种常用的软件设计模式, ...

  2. 【BZOJ1002】[ZJOI2006]轮状病毒

    [BZOJ1002]轮状病毒 题面 bzoj 题解 统计个数显然直接矩阵树定理,找规律截这里 打标如下: #include <iostream> #include <cstdlib& ...

  3. 5286: [Hnoi2018]转盘

    5286: [Hnoi2018]转盘 链接 分析: $\min\limits_{i=1}^n \{ \max\limits_{j=i}^{i + n - 1} \{ a_{j}+i \} \} +n- ...

  4. 4320: ShangHai2006 Homework

    4320: ShangHai2006 Homework 链接 分析: 分块.对权值模数进行分块,模数小于$\sqrt V$的($V$为权值上界),暴力处理. 模数大于$\sqrt V$的,设模数是k, ...

  5. HDU 6191 2017ACM/ICPC广西邀请赛 J Query on A Tree 可持久化01字典树+dfs序

    题意 给一颗\(n\)个节点的带点权的树,以\(1\)为根节点,\(q\)次询问,每次询问给出2个数\(u\),\(x\),求\(u\)的子树中的点上的值与\(x\)异或的值最大为多少 分析 先dfs ...

  6. 通俗地讲Node.js是什么

    前后端分离,使得后台只需关注服务即可,但有时候开发的不同步,前台往往需要等待后台的接口,通俗的说,“node.js就是一个前端觉得写个功能还要等后端捣鼓半天,然后干脆就自己用javascript把后端 ...

  7. Cocos2d-x Lua 学习

    mian.lua  文件是程序的入口.加载GameScene场景,调用场景方法. GameScene.lua 文件负责创建游戏主场景,主要写场景方法,由主函数调用.

  8. Unity摄像机围绕物体旋转两种实现方式

    第一种,使用Transform 函数 RotateAround. 代码如下: public Transform target;//获取旋转目标 private void camerarotate() ...

  9. LimeSDR在windows下使用Gqrx来接收FM广播

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 LimeSDR链接:https://item.taobao.com/item.htm?spm=a230r.1 ...

  10. 炸!分享美团面试关于selenium的面试题

    个人分类: 软件测试 编辑 在这个互联网技术快速迭代的时代,每个测试员都知道技术对于职业发展的重要性,那些技术好的测试员不仅薪资高,而且大多数集中在一线互联网企业工作,让人感觉非常高大上的同时,也想去 ...