Spring 线程池的使用和配置
@Configuration
@EnableAsync //开启异步调用
public class AsyncExecutorConfig {@Value("${thread.number}")private Integer threadNumber;@Value("${thread.namePrefix}")private Integer namePrefix;@Bean("asyncThreadExecutor")public Executor asyncThreadExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();// 设置核心线程数executor.setCorePoolSize(threadNumber);// 设置线程队列大小executor.setQueueCapacity(threadNumber * 10);// 设置线程最大线程数量executor.setMaxPoolSize(threadNumber * 5);// 设置最大线程空闲时间,达到最大空闲时间则自动销毁executor.setKeepAliveSeconds(30);// 设置线程池名称前缀executor.setThreadNamePrefix(namePrefix);// 设置核心线程达到最大空闲时间时也可以销毁executor.setAllowCoreThreadTimeOut(true);/** rejection-policy:当pool已经达到max size的时候,如何处理新任务* CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行*/executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());// 初始化executor.initialize();return executor;}
}
参数的配置详情参考:https://blog.csdn.net/zhouhl_cn/article/details/7392607
调用使用线程池 @Async
@Async("asyncThreadExecutor")public void threadPool() {LoggerFactory.getLogger(CustomerService.class).info("***" + ":Hello World!");}
Spring 线程池的使用和配置相关推荐
- spring 线程池_Spring线程池服务
spring 线程池 线程池对于执行同步和异步过程非常重要. 本文介绍如何使用Spring开发和监视线程池服务. 创建线程池已通过两种替代方法进行了说明. 二手技术 : JDK 1.6.0_21 春天 ...
- Spring线程池开发实战
Spring线程池开发实战 作者:chszs,转载需注明. 作者博客主页:http://blog.csdn.net/chszs 本文提供了三个Spring多线程开发的例子,由浅入深,由于例子一目了然, ...
- 线程池监控和动态配置
线程池 线程池是一种 "池化" 的线程使用模式,通过创建一定数量的线程,让这些线程处于就绪状态来提高系统响应速度,在线程使用完成后归还到线程池来达到重复利用的目标,从而降低系统资源 ...
- Java多线程之线程池的参数和配置
在Java多线程编程中,线程池是一种常见的技术,用于管理线程的创建和销毁.线程池中的线程可以被重复利用,从而减少了线程的创建和销毁的开销,提高了程序的性能.在Java中,线程池的参数和配置非常重要,不 ...
- spring线程池的理解和使用
1.spring线程池 <bean id="taskExecutor" class="org.springframework.scheduling.concurre ...
- spring线程池的使用
为了尽量减少耗时操作对Action执行的影响,使用TaskExecutor线程池来管理耗时任务,作为后台进程执行,从而解决了问题. 场景: 使用了Struts和Spring,但Struts的A ...
- spring线程池使用
为何使用多线程 对于复杂的业务逻辑下,有时候需要使用多线程执行,以优化项目的执行速度 单线程同步执行的场景中,如果前边出现异常,会导致所有任务中断,异步执行没有这样的问题 多线程实现方式:线程池 减少 ...
- Spring 线程池使用
Spring 中默认自带线程池_org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor,一般有可以直接使用,这是时候使用的是默 ...
- Spring线程池异步传递MDC信息
目录 1. 什么是MDC 2. 引入MDC打印步骤 2.1 pom依赖 2.2 log4j2打印日志配置文件 3 步骤演示 3.1 单线程业务使用示例 postman查询示例 查询代码 查询日志 3. ...
最新文章
- 国际化(1)---JS文件国际化
- 树的最小支配集、最小点覆盖、最大独立集【模板】
- 设计模式--程序猿必备面向对象设计原则
- deepin20自带c语言,deepin 20.1终于找到你-国产操作系统deepin之初体验
- 转帖:由C++转向C#的几种对策
- AndroidStudio 文件目录如何“刷新”
- linux内核系列之二_资源
- cubemx stm32 配置两个串口_用STM32CubeMX怎么配置串口的接收中断
- 美赛O奖论文翻译-2015埃博拉病毒
- 软件架构设计原则--开闭原则
- Python报错AssertionError: can only test a child process
- 使用VBA让Word或Excel文档窗口置顶
- Python 第二章 字典
- ffmpeg4.x支持的编解码器等相关信息一览表
- ROS 教程2 机器人雷达建图 蒙特卡洛定位 导航 路径规划 仿真
- 团队开发工具之一——Wiki
- jQuery——小案例:点击图片放大缩小
- Mysql源码编译和调试debug
- 2000年-2009年华语金曲榜
- KVM内存管理(三)—— KSM操作实践