关于线程池
线程池的三大方法:
1、Executors.newSingleThreadExecutor(创建单个线程)
2、Executors.newFixedThreadPool(参数为线程数量,固定大小的线程池)
3、Executors.newCathedThreadPool(可伸缩线程池)
线程池的七大参数:
1、int corePoolSize 核心线程池大小
2、int maximumPoolSize 线程池最大线程数量
3、Long keepAliveTime 空闲线程存活时间(超时后会释放)
4、TimeUnit unit 线程超时时间的单位
5、BlockingQueue<Runnable> workQueue 阻塞队列
6、ThreadFactory threadFactory 线程工厂
7、RejectedExecutionHandler handler 拒绝策略
线程池的四种拒绝策略:
1、AbortPolicy 直接丢弃任务,并抛出RejectedExecutionException异常
2、DiscardPolicy 直接丢弃任务,不抛出异常
3、DiscardOldestPolicy 尝试将这次拒绝的任务和最早执行的线程竞争,如果竞争失败则丢弃,不抛出异常
4、CallerRunsPolicy 哪来的去哪里(例子:公司让A去办银行卡,此时银行窗口已满,告知A回自己公司办,A回公司办理)

浙公网安备 33010602011771号