多线程

94 阅读1分钟

多线程

ThreadPoolExecutor(int corePoolSize,
                  int maximumPoolSize,
                  long keepAliveTime,
                  TimeUnit unit,
                  BlockingQueue<Runnable> workQueue,
                  ThreadFactory threadFactory,
                  RejectedExecutionHandler handler)

判断核心线程数corePoolSize是否满了,没满创建线程执行任务 corePoolSize满了, 判断workQueue满了没有,没满,加入任务队列 workQueue满了, 判断maximumPoolSize满了没有,没满,创建线程执行任务, maximumPoolSize满了, 根据拒绝策略RejectedExecutionHandler处理

corePoolSize没有设置timeout不会释放 超过corePoolSize的线程在keepAliveTime后会被回收