线程池

2016-12-04  本文已影响12人  学不好语文的LJ码农

以下内容整理自互联网,仅用于个人学习


线程池基础

public static final Executor THREAD_POOL_EXECUTOR = new ThreadPoolExecutor( 
                      CORE_POOL_SIZE,MAXIMUM_POOL_SIZE,KEEP_ALIVE,TimeUnit.SECONDS, 
                      sPoolWorkQueue,sThreadFactory 
                      );

当一个任务加入到线程池时:

  • 如果此时线程池中的数量小于corePoolSize,即使线程池中的线程都处于空闲状态,也要创建新的线程来处理被添加的任务。

处理任务的优先级

  1. 核心线程corePoolSize
  1. 任务队列workQueue
  2. 最大线程maximumPoolSize

如果三者都满了,使用handler处理被拒绝的任务(一般为抛出java.util.concurrent.RejectedExecutionException异常)

线程类型

线程池的优点

上一篇 下一篇

猜你喜欢

热点阅读