博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Executors线程池关闭时间计算
阅读量:6660 次
发布时间:2019-06-25

本文共 1466 字,大约阅读时间需要 4 分钟。

Executors线程池关闭时间计算

学习了:http://blog.csdn.net/wo541075754/article/details/51564359

https://www.cnblogs.com/stonefeng/p/5967451.html

http://blog.csdn.net/alinshen/article/details/78090043

shutdown方法:平滑的关闭ExecutorService,当此方法被调用时,ExecutorService停止接收新的任务并且等待已经提交的任务(包含提交正在执行和提交未执行)执行完成。当所有提交任务执行完毕,线程池即被关闭。awaitTermination方法:接收人timeout和TimeUnit两个参数,用于设定超时时间及单位。当等待超过设定时间时,会监测ExecutorService是否已经关闭,若关闭则返回true,否则返回false。一般情况下会和shutdown方法组合使用。

代码:

package com.stono.thread;import java.util.concurrent.Callable;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class ExecutorShutdown {    public static void main(String[] args) throws Exception {        ScheduledExecutorService service = Executors.newScheduledThreadPool(4);        for(int i=0;i<10;i++){            service.submit(new Task());        }        service.submit(new LongTask());        service.shutdown();        while(!service.awaitTermination(1, TimeUnit.SECONDS)){            System.out.println("线程池没有关闭");        }        System.out.println("线程池已经关闭============");    }}class Task implements Callable{        @Override    public Object call() throws Exception {        System.out.println("普通任务");        return null;    }    }class LongTask implements Callable{        @Override    public Object call() throws Exception {        System.out.println("长时间任务");        TimeUnit.SECONDS.sleep(15);        return null;    }    }

 

你可能感兴趣的文章
修改weblogic11g的JDK版本
查看>>
网站跨站点单点登录实现--cookie
查看>>
常见性能优化策略的总结
查看>>
C# 反射(GetType) 获取动态Json对象属性值的方法
查看>>
长短链接区别-2
查看>>
php如何清除html格式并去除文字中的空格然后截取文字
查看>>
无法打开运行空间池,服务器管理器winrm插件可能已损坏或丢失
查看>>
IIS7 https 发生413错误 未显示页面,因为请求实体过大
查看>>
Python并发编程-事件驱动模型
查看>>
Android 计算Bitmap大小
查看>>
webapi应用架构详解
查看>>
使用ftrace学习linux内核函数调用
查看>>
【数据分析知识点】detailed table of contents
查看>>
015 在Spark中关于groupByKey与reduceByKey的区别
查看>>
Spring源码入门——DefaultBeanNameGenerator解析
查看>>
FastDFS安装全过程记录(V5.05)
查看>>
021 RDD的依赖关系,以及造成的stage的划分
查看>>
开放才能进步!Angular和Wijmo一起走过的日子
查看>>
ES查看segment大小
查看>>
java----序列化与反序列化中及java序列化本质就是存储一个对象,然后在其他地方在调用它...
查看>>