1. corePoolSize 核心线程数目 – 池中会保留的最多线程数。
2. maximumPoolSize 最大线程数目 – 核心线程+救急线程的最大数目。
3. keepAliveTime 生存时间 – 救急线程的生存时间,生存时间内没有新任务,此线程资源会释放。
4. unit 时间单位 – 救急线程的生存时间单位,如秒、毫秒等。
5. workQueue – 当没有空闲核心线程时,新来任务会加入到此队列排队,队列满会创建救急线程执行任务。
6. threadFactory 线程工厂 – 可以定制线程对象的创建,例如设置线程名字、是否是守护线程等。
7. handler 拒绝策略 – 当所有线程都在繁忙,workQueue 也放满时,会触发拒绝策略。
(1)抛异常 java.util.concurrent.ThreadPoolExecutor.AbortPolicy。
(2)由调用者执行任务 java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy。
(3)丢弃任务 java.util.concurrent.ThreadPoolExecutor.DiscardPolicy。
(4)丢弃最早排队任务 java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/254048.html