高级面:线程池的7个参数详解
核心线程数
初始化的时候不会创建,第一个任务过来才按照这个参数生成线程
最大线程数
阻塞队列满了才会使用它,超过它触发拒绝策略
空闲时间
超过空闲时间,线程数降低到核心数目
时间单位
空闲时间的单位
线程工厂
一般默认,可以指定线程名称、线程组之类的参数
阻塞队列
一般需要修改为有界队列,超过核心线程数的任务先放到这里
拒接策略
回退主线程,就是把任务交给主线程调用(一般都不可能用)
直接报异常(会用)
丢弃最新任务
丢弃最老任务
还有自定义,比如把任务类型、参数、序列值记到数据库或者redis,等线程池空余再重新放进去(也会用)
或者动态扩容核心线程数,(一丢丢可能会用,遇见过调整服务器性能但是忘记改线程池参数的)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!