Executor框架
灵活强大的异步框架,支持多种不同类型的任务执行策略,将任务提交过程与执行过程分离开来,解耦开发
Executor 接口 提供了提交任务的方法executor
ExecutorService 子接口 提供了生命周期管理方法,submit(Runnable),shutdown() ,shutdownNow()
AbstractExecutorService ThreadPoolExecutor 线程池利用工厂类创建各种线程池
ScheduledThreadPoolExecutor 可定时调度任务的线程池
ThreadPoolExecutor 主要参数
corePoolSize 核心线程数
maximumPoolSize 最大线程数
long keepAliveTime 非核心空闲线程存活时间
BlockingQueue<Runnable> workQueue 保存任务的阻塞队列
handle 拒绝策略
(1)ThreadPoolExecutor
newFixedThreadPool(n,n,0L,new linkedBlockingQueue<Runnable>);可重用的固定线程数线程池
newSingleThreadPoolExecutor(1,1,0L,linkedBlockingQueue<Runnable>);单线程的线程池适用于保证顺序的执行各个任务
newCachedThreadPool(0,Integer.Max_value,60L,synchronousQueue<Runnable>);
大小无界的线程池,适用于执行很多短期异步任务的小程序
(2)ScheduledThreadPoolExecutor
newSingleThreadPoolExecutor(1,1,0L,DelayedWorkQueue);可调度单线程线程池
newScheduledThreadPoolExecutor();可调度的多线程池
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。