美文网首页
Java线程池原理

Java线程池原理

作者: 聚在散里 | 来源:发表于2017-09-22 10:58 被阅读0次

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();可调度的多线程池

相关文章

网友评论

      本文标题:Java线程池原理

      本文链接:https://www.haomeiwen.com/subject/zdynsxtx.html