当前位置: 首页 > news >正文

springboot线程池创建与使用

/*** @author: zcs* @Title: TaskPoolConfig* @Description: 线程池配置* @date: 2023/10/11 17:52*/
@Component
public class TaskPoolConfig {@Bean(name = "threadPoolTaskExecutor")public Executor taskExecutor() {ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();//核心线程池大小,设置为当前系统可用的处理器数量+1taskExecutor.setCorePoolSize(Runtime.getRuntime().availableProcessors() + 1);//最大线程池大小,设置为当前系统可用的处理器数量*2taskExecutor.setMaxPoolSize(Runtime.getRuntime().availableProcessors() * 2);//队列最大容量taskExecutor.setQueueCapacity(1000);//存活时间taskExecutor.setKeepAliveSeconds(60);//设置线程名前缀taskExecutor.setThreadNamePrefix("taskExecutor--");taskExecutor.setWaitForTasksToCompleteOnShutdown(true);//拒绝策略taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());taskExecutor.setAwaitTerminationSeconds(60);return taskExecutor;}
}

使用:

  1.首先注入线程池对象

    @Autowired@Qualifier("threadPoolTaskExecutor")private Executor threadPoolTaskExecutor;

2.方法里面使用线程池 

threadPoolTaskExecutor.execute(() -> {//代码逻辑
});

http://www.lryc.cn/news/190303.html

相关文章:

  • UDP和TCP特点(部分)对比:
  • PostMan环境变量、全局变量、动态参数使用
  • 服务器数据恢复-服务器硬盘指示灯黄灯闪烁的数据恢复案例
  • ts 分发
  • SQL中的group by使用注意事项
  • 矩阵剪辑系统源码----pc/手机端双开发
  • 0基础学习VR全景平台篇 第106篇:认识调色软件Lightroom
  • React如何优化减少组件间的重新Render
  • mysql面试题44:MySQL数据库cpu飙升的话,要怎么处理?
  • 动画圆圈文字标志效果
  • 【数据结构】二叉树--顺序结构及实现 (堆)
  • 适用于嵌入式单片机的差分升级通用库
  • Exposure Normalization and Compensation for Multiple-Exposure Correction 论文阅读笔记
  • Arduino驱动BMI160 6轴惯性运动传感器(惯性测量传感器篇)
  • 数据挖掘实战(3):如何对比特币走势进行预测?
  • 巴以冲突中暴露的摄像头正对安全构成威胁
  • 【Redis】Redis性能优化:理解与使用Redis Pipeline
  • 前端全局工具函数utils.js/正则(持续更新)
  • 如何基于先进视频技术,构建互联网视频监控安全管理平台解决方案
  • 【React native】navigation 状态重置
  • 2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023)
  • Centos8 openjdk升级
  • 开启深度学习之门—《深度学习》
  • 优先调节阀位,条件调节阀位
  • oracle入门笔记六
  • 腾讯云优惠券种类、领取方法及使用教程分享
  • JavaScript使用类-模态窗口
  • 【轻松玩转MacOS】外部设备篇
  • location rewrite
  • XLSX.utils.sheet_to_json()解析excel,给空的单元格赋值为空字符串