在Java 5之后,ExecutorService类被引入,主要是为了方便线程的统一管理。
ExecutorService其实是一个线程池,它可以接收任务,然后根据配置来分配线程,并控制其调度。
这个线程和newCacheThreadPool很类似,不同点在于:
这种类型的线程池可以自己配置相关参数。
参数 | 说明 |
---|---|
corePoolSize | 池中所保存的线程数,包括空闲线程。 |
maximumPoolSize | 池中允许的最大线程数。’ |
keepAliveTime | 当线程数大于核心时,此为终止多余的空闲等待新任务的线程的最长时间。 |
workQueue | 执行前用于保持任务的队列。此队列仅保持由 execute 方法提交的 Runnable 任务。 |