Java多线程中的ThreadPoolExecutor使用解析
int getCorePoolSize() #返回核心线程数量
int getMaximumPoolSize() #返回最大的线程数量
int getPoolSize() #返回当前线程池中的线程数量,包括在运行或休眠,new ThreadPoolExecutor()不会立马创建可用线程
int getQueue().size() #返回等待执行线程的队列数量
void shutdown() #不再添加新task,使当前未执行完的线程继续执行,不会阻塞主线程main,调用shutdown()后,主线程马上结束,而线程池继续执行直到任务执行完毕;shutdown()使线程池状态立即变成SHUTDOWN状态
List
boolean isShutdown() #当前线程池是否已被关闭
boolean isTerminating() #判断当前线程池在shutdown()或shutdownNow()后处于正在中止但是尚未完全中止时,返回ture。
boolean isTerminated() #判断当前线程池在shutdown()或shutdownNow()后已完全中止时,返回ture。
boolean awaitTermination(long timeout, TimeUnit unit) #在指定时间内查看线程池是否已终止工作;在线程池执行shutdown()后,如果池中还有任务在被执行则阻塞,否则将不再阻塞;与shutdown()结合可实现"等待执行完毕"的效果。
boolean allowsCoreThreadTimeOut() #配置核心线程是否有超时效果
boolean allowsCoreThreadTimeOut(boolean value) #配置核心线程是否有超时效果
boolean prestartCoreThread() #每次初始化一个核心线程,直到达到corePoolSize时返回false
int prestartAllCoreThreads() #初始化全部corePoolSize数量的核心线程,返回初始化的个数
long getCompletedTaskCount() #返回已执行完成的线程大概累积数量
void beforeExecute(Thread t, Runnable r) #线程执行前的操作
void afterExecute(Runnable r, Throwable t) #线程执行结束后的操作
boolean remove(Runnable task) #删除被execute()调用的尚未被执行的Runnable任务,对submit()调用的线程需使用purge()
int getActiveCount() #获取正在执行任务的线程数
long getTaskCount() #获取可被执行的任务数