线程池类型
1、固定大小线程池 newFixedThreadPool
2、缓存的线程池 newCachedThreadPool
3、单个线程池 newSingleThreadPool
4、newScheduledThreadPool
5、newWorkStealingPool
线程池参数
1、int corePoolSize 核心线程数
2、int maximumPoolSize 最大核心线程数
3、long keepAliveTime 空闲线程存活时长
4、TimeUnit unit //keepAliveTime的时间单位
5、BlockingQueue<Runnable> workQueue 等待队列
6、ThreadFactory threadFactory 创建线程的工厂
7、RejectedExecutionHandler handler 等待队列满时的拒绝策略
缓冲队列
ArrayBlockingQueue
LinkedBlockingQueue
SynchronousQueue
拒绝策略
AbortPolicy 抛出异常,中止任务。
DiscardPolicy 直接丢弃
CallerRunsPolicy 使用调用线程执行任务。
DiscardOldestPolicy 丢弃队列最老任务,添加新任务