创建线程池的七个参数的解析
corePoolSize 核心线程数:核心线程一直存在
maximumPoolSize 最大线程数:核心线程+临时线程
keepAliveTime 存活时间:临时线程的存活时间,规定时间没有任务则销毁
TimeUnit 时间单位:毫秒或者秒等
BlockingQueue workQueue:阻塞队列 有界队列需指定容量否则最大值为intger.maxvalue,容易造成oom
threadFactory 线程工厂
RejectedExecutionHandler 拒绝策略:线程数达到最大后,执行的拒绝策略,系统提供四种:
abort:抛异常
discard 扔掉不抛异常
discardoldest 扔掉排队时间最久的
callerruns 调用者处理任务
外加:自定义拒绝策略:自定义策略即根据业务决定任务重试几次或等线程数减少等条件下在此进入线程池等待队列的方法
并发和并行的区别
并发:任务提交,指同时发生
并行:任务执行,指同时处理