20230713 java.util.concurrent.ThreadPoolExecutor
介绍
- java.util.concurrent.ThreadPoolExecutor
 - public class ThreadPoolExecutor extends AbstractExecutorService
 
API
构造器
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue)ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory)ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler)ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)- corePoolSize :初始线程池大小
 - maximumPoolSize :最大线程池大小
 - keepAliveTime :设置线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长
 - unit :keepAliveTime 的时间单位
 - workQueue :设置队列,用于存在未执行的线程
 - threadFactory :线程工厂,用于自定义线程创建
 - handler :设置当线程阻塞(block)时的异常处理器,所谓线程阻塞即线程池和等待队列已满,无法处理线程时采取的策略
 
public
- 
setCorePoolSize, getCorePoolSize
 - 
setMaximumPoolSize, getMaximumPoolSize
 - 
setKeepAliveTime, getKeepAliveTime
 - 
getQueue
- workQueue
 
 - 
setThreadFactory, getThreadFactory
 - 
setRejectedExecutionHandler, getRejectedExecutionHandler
- 匹配构造器中的参数
 
 - 
execute
void execute(Runnable command)
 - 
shutdown
- 启动有序关闭,其中执行先前提交的任务,但不会接受新任务
 
 - 
shutdownNow
- 尝试停止所有正在执行的任务,停止正在等待的任务的处理,并返回正在等待执行的任务的列表
 - 此方法不等待主动执行的任务终止。使用 
awaitTermination来做到这一点 
 - 
awaitTermination
- 阻塞,直到所有任务在关闭请求后完成执行
 
 - 
prestartAllCoreThreads
- 启动所有核心线程
 
 - 
prestartCoreThread
- 启动一个核心线程
 - 默认情况下,即使是核心线程也仅在新任务到达时才最初创建和启动
 
 - 
allowsCoreThreadTimeOut
- 允许核心线程超时
 - 默认 false ,核心线程永远不会由于缺少传入任务而终止
 
 - 
allowCoreThreadTimeOut
- 设置 
allowsCoreThreadTimeOut 
 - 设置 
 - 
getActiveCount
- 返回正在主动执行任务的线程的大致数量
 
 - 
getTaskCount
- 返回已计划执行的任务的大致总数
 
 - 
getCompletedTaskCount
- 返回已完成执行的任务的大致总数
 
 - 
getLargestPoolSize
- 返回池中曾经同时存在的最大线程数
 
 - 
getPoolSize
- 返回当前线程池中线程数量
 
 - 
isTerminating
- 如果此执行器在 
shutdown或shutdownNow之后正在终止但尚未完全终止,则返回 true 
 - 如果此执行器在 
 - 
purge
- 尝试从工作队列中删除所有已取消的 
Future任务 
 - 尝试从工作队列中删除所有已取消的 
 - 
remove
- 从队列中移除
 
 
                    
                
                
            
        
浙公网安备 33010602011771号