线程池ThreadPoolExecutor


  • corePoolSize:线程池中核心线程数的最大值

  • maximumPoolSize:线程池中能拥有最多线程数

  • workQueue:用于缓存任务的阻塞队列

  • keepAliveTime:表示空闲线程的存活时间。

  • TimeUnitunit:表示keepAliveTime的单位。

    • threadFactory:指定创建线程的工厂

handler:表示当workQueue已满,且池中的线程数达到maximumPoolSize时,线程池拒绝添加新任务时采取的策略。

默认拒绝 :





默认情况下,当池中有空闲线程,且线程的数量大于corePoolSize时,空闲时间超过keepAliveTime的线程会自行销毁,池中仅仅会保留corePoolSize个线程。如果线程池中调用了allowCoreThreadTimeOut这个方法,则空闲时间超过keepAliveTime的线程全部都会自行销毁,而不必理会corePoolSize这个参数。

如果池中的线程数量小于corePoolSize时,调用prestartAllCoreThreads方法,则无论是否有待执行的任务,线程池都会创建新的线程,直到池中线程数量达到corePoolSize ; 


猜你喜欢

转载自blog.csdn.net/qq_16257883/article/details/80168663