关于线程池

线程池的三大方法:

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回公司办理)

posted @ 2022-08-04 14:15  李哥不会扣篮  阅读(30)  评论(0)    收藏  举报