【JUC】线程池

1.七大参数(根据阿里巴巴手册 尽量不要用Executor  要使用原生ThreadPoolExecutor)

(1)corePoolSize:线程池中常驻核心线程数

(2)maximumPoolSize:线程池能够容纳同时执行的最大线程数,此值必须大于等于1

(3)keepAliveTime:多余的空闲线程存活时间。当前线程池数量超过corePoolSize时,当空闲时间到达keepAliveTime值时,多余空闲线程会被销毁直到只剩下corePoolSize个线程为止。

(4)unit:keepAliveTime的时间单位

(5)workQueue:任务队列,被提交但尚未执行的任务

(6)threadFactory:表示生成线程池中的工作线程的线程工厂,用于创建线程,一般为默认线程工厂即可

(7)handler:拒绝策略,表示当队列满了并且工作线程大于等于线程池的最大线程数(maximumPoolSize)时如何来拒绝来请求的Runnable的策略

 

 

 2.都只是改变了参数

 

 

 3.线程池抽象例子

 

 

 4.池子里面最多能放的任务是 所有线程数+阻塞队列的个数。

超出就调用拒绝策略

 

posted @ 2021-02-25 12:40  枫叶像思念  阅读(57)  评论(0编辑  收藏  举报