高级面:线程池的7个参数详解

核心线程数

初始化的时候不会创建,第一个任务过来才按照这个参数生成线程

最大线程数

阻塞队列满了才会使用它,超过它触发拒绝策略

空闲时间

超过空闲时间,线程数降低到核心数目

时间单位

空闲时间的单位

线程工厂

一般默认,可以指定线程名称、线程组之类的参数

阻塞队列

一般需要修改为有界队列,超过核心线程数的任务先放到这里

拒接策略

回退主线程,就是把任务交给主线程调用(一般都不可能用)

直接报异常(会用)

丢弃最新任务

丢弃最老任务

还有自定义,比如把任务类型、参数、序列值记到数据库或者redis,等线程池空余再重新放进去(也会用)

或者动态扩容核心线程数,(一丢丢可能会用,遇见过调整服务器性能但是忘记改线程池参数的)

 

posted @ 2023-07-16 23:54  时间羚羊  阅读(110)  评论(0编辑  收藏  举报