线程池的7大重要参数
线程池的7大参数
1. corePoolSize
线程池中的核心线程数(类似于银行网点的窗口数)。
2. maximumPoolSize
线程池能够容纳同时执行的最大线程数(类似于银行窗口开放数)。
3. keepAliveTime
多余的空闲线程的存活时间。
4. unit
keepAliveTime的单位(存活时间单位)。
5. workQueue
任务队列,被提交但尚未被执行的任务(阻塞队列)。
6. threadFactory
表示生成线程池中工作线程的线程工厂,用于创建线程一般用默认的即可。
7. handler
拒绝策略,表示当队列满了并且工作线程大于等于线程池的最大线程数。
线程池的拒绝策略
AbortRolicy(默认)
直接抛出异常,阻止运行。
CallerRunsPolicy
调用者运行机制,就是谁让你来的就让你会去找谁去。
DiscardOldestPolicy
抛弃队列中等待最久的任务,然后把新的任务加进去。
DiscardPolicy
直接丢弃任务,不处理也不抛异常。