千家信息网

springboot使用线程池方法是什么

发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇内容主要讲解"springboot使用线程池方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"springboot使用线程池方法是什么"吧!线程
千家信息网最后更新 2025年11月11日springboot使用线程池方法是什么

本篇内容主要讲解"springboot使用线程池方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"springboot使用线程池方法是什么"吧!

线程池创建

@Configuration@EnableAsyncpublic class TaskPoolConfig {    @Bean("syncExecutorPool")    public Executor taskExecutor() {        ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();        // 核心池大小        taskExecutor.setCorePoolSize(5);        // 最大线程数        taskExecutor.setMaxPoolSize(10);        // 队列程度        taskExecutor.setQueueCapacity(100);        // 线程空闲时间        taskExecutor.setKeepAliveSeconds(60);        // 线程前缀名称        taskExecutor.setThreadNamePrefix("syncExecutor--");        // 该方法用来设置 线程池关闭 的时候 等待 所有任务都完成后,再继续 销毁 其他的 Bean,        // 这样这些 异步任务 的 销毁 就会先于 数据库连接池对象 的销毁。        taskExecutor.setWaitForTasksToCompleteOnShutdown(true);        // 任务的等待时间 如果超过这个时间还没有销毁就 强制销毁,以确保应用最后能够被关闭,而不是阻塞住。        taskExecutor.setAwaitTerminationSeconds(60);        // 线程不够用时由调用的线程处理该任务        taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());        return taskExecutor;    }}

线程池参数

核心线程数量:CorePoolSize
看业务场景设置(我通常设置为CPU核心*1)

最大线程数量:MaxPoolSize
当核心线程数量都在使用状态时,会调用最大线程数量里的线程,使用的总线程不会超过最大线程数量,其余则等待(我通常设置为CPU核心*2)

队列程度:QueueCapacity
线程队列的大小

线程空闲时间:KeepAliveSeconds

线程前缀名称:ThreadNamePrefix

停机策略:WaitForTasksToCompleteOnShutdown
该方法用来设置 线程池关闭 的时候 等待 所有任务都完成后,再继续 销毁 其他的 Bean,这样这些 异步任务 的 销毁 就会先于 数据库连接池对象 的销毁。

任务的等待时间:AwaitTerminationSeconds
任务的等待时间 如果超过这个时间还没有销毁就 强制销毁,以确保应用最后能够被关闭,而不是阻塞住

拒接策略:RejectedExecutionHandler
线程不够用时由调用的线程处理该任务

线程池测试1(核心线程数量)

结果:线程池的核心线程数量轮训执行

线程池测试2(当核心线程数量和最大线程数量不够时)

随机睡眠0-10000毫秒
new Random().nextInt(10000)

结果:

当5个核心线程数量不够用时,使用最大线程数量里的线程
当最大线程数量不够用时,使用主线程执行该任务

// 线程不够用时由调用的线程处理该任务
taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());

到此,相信大家对"springboot使用线程池方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

线程 数量 任务 核心 最大 时间 方法 不够 队列 处理 内容 前缀 名称 大小 对象 数据 数据库 时候 程度 空闲 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 如何更新新数据库 小米路由器家庭ftp服务器搭建 机动车网络安全管理规章制度 genbank数据库的应用功能 服务器硬盘性能 视频中心平台管理服务器 网络安全法违反二十七条规定 查看linux服务器的运行内存 游戏服务器多大够用 软件开发包括哪些内容组成 电气工程 服务器硬件架设 形势与政策论文重视网络安全 声音下载软件开发 可视化综合管理存储服务器 服务器显示内部错误 大华监控服务器状态变更报警 服务器管理什么是rds 校园网络安全知识禁赛 代理服务器例外设置 数据库获取信息失败 sql 数据库代码 广东服务器磁盘阵列卡芯片云主机 古交软件开发生产公司联系方式 戴尔服务器管理卡是什么 服务器管理器域名解析 关于数据库基本概念的题型 方舟进化生存服务器出现英文字母 无锡综合软件开发一体化 定制软件开发的局限性 烟台至晟互联网科技有限公司
0