线程

2018-05-01  本文已影响0人  kingwen0
public ThreadPoolExecutor(int corePoolSize,
                         int maximumPoolSize,
                         long keepAliveTime,
                         TimeUnit unit,
                         BlockingQueue<Runnable> workQueue,
                         ThreadFactory threadFactory) {
   this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
       threadFactory, defaultHandler);
}

1,corePoolSize 线程池的核心线程数,一般情况下,不管有没有任务都会在线程池中存在
2, maximumPoolSize 最大线程数量,当活动的线程数达到这个数字后,后面的任务将会被阻塞。
3, keepAliveTIme 控制闲置线程存活时间,一般用在非核心线程。
4, unit 指定keepAliveTime的时间单位,是枚举类型,主要有 TimeUnit.HOURS、TimeUnit.MINUTES
5, workQueue 线程池的任务队列
6, threadFacory 线程工厂,它是一个接口,用来为线程池创建新的线程

线程池的关闭:shutdown ,不会立即终止线程池,而是要等到任务缓存队列中的任务都执行完毕才终止,不会接受新的任务。shutdownNow,立即关闭线程池,并尝试打断正在执行的任务,清空缓存队列,返回未执行的任务。

Executor框架:是一个根据一组执行策略调度、执行、控制异步任务的框架。
Executors类:用于方便的创建线程池。

上一篇 下一篇

猜你喜欢

热点阅读