线程池处理任务的顺序

线程池中重要的三个参数

1、corePoolSize:核心线程大小
2、maximumPoolSize:最大线程数(当阻塞队列无界时,此参数无效)
3、阻塞队列的大小

线程池处理任务的顺序如下:

1、当添加新任务时,如果当前线程数poolSize 2、如果线程数poolSize>=corePoolSize,则将任务加入阻塞队列
3、若阻塞队列已满,且当前线程数poolSize 4、当线程数poolSize=maximumPooSize,走拒绝策略,主要的拒绝策略有:
(1)AbortPolicy:直接抛出异常
(2)CallerRunsPolicy:用调用者所在线程来运行任务
(3)DiscardOldestPolicy:丢弃队列里最近的一个任务,并执行当前任务
(4)DiscardPolicy: 丢弃新增的任务,不处理

你可能感兴趣的:(并发编程,多线程)