#yyds干货盘点# springboot配置@Async异步任务的线程池

Posted 灰太狼_cxh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# springboot配置@Async异步任务的线程池相关的知识,希望对你有一定的参考价值。

springboot配置@Async异步任务的线程池

1.代码实现

在​​#yyds干货盘点# springboot使用@Async实现异步调用​​基础代码上进行修改

yml配置

spring:
task:
execution:
pool:
core-size: 2
max-size: 8
queue-capacity: 18
keep-alive: 60s
allow-core-thread-timeout: true
thread-name-prefix: task-


具体配置含义如下:

  • spring.task.execution.pool.core-size:线程池创建时的初始化线程数,默认为8
  • spring.task.execution.pool.max-size:线程池的最大线程数,默认为int最大值
  • spring.task.execution.pool.queue-capacity:用来缓冲执行任务的队列,默认为int最大值
  • spring.task.execution.pool.keep-alive:线程终止前允许保持空闲的时间
  • spring.task.execution.pool.allow-core-thread-timeout:是否允许核心线程超时
  • spring.task.execution.shutdown.await-termination:是否等待剩余任务完成后才关闭应用
  • spring.task.execution.shutdown.await-termination-period:等待剩余任务完成的最大时间
  • spring.task.execution.thread-name-prefix:线程名的前缀,设置好了之后可以方便我们在日志中查看处理任务所在的线程池

2.实现效果:

因为设置了2个核心线程,所以每次只运行2个任务。在实际使用上可以根据需求调节核心线程数量。

2021-12-29 16:49:58.921  INFO 13716 --- [           main] c.c.a.AsyncTaskApplicationTests          : Started AsyncTaskApplicationTests in 1.642 seconds (JVM running for 3.272)
2021-12-29 16:49:59.232 INFO 13716 --- [ cxh-1] com.cxh.async_task.task.AsyncTasks : 开始做任务一
2021-12-29 16:49:59.232 INFO 13716 --- [ cxh-2] com.cxh.async_task.task.AsyncTasks : 开始做任务二
2021-12-29 16:50:00.935 INFO 13716 --- [ cxh-1] com.cxh.async_task.task.AsyncTasks : 完成任务一,耗时:1703毫秒
2021-12-29 16:50:00.937 INFO 13716 --- [ cxh-1] com.cxh.async_task.task.AsyncTasks : 开始做任务三
2021-12-29 16:50:04.233 INFO 13716 --- [ cxh-2] com.cxh.async_task.task.AsyncTasks : 完成任务二,耗时:5001毫秒
2021-12-29 16:50:05.240 INFO 13716 --- [ cxh-1] com.cxh.async_task.task.AsyncTasks : 完成任务三,耗时:4302毫秒
2021-12-29 16:50:05.241 INFO 13716 --- [ main] c.c.a.AsyncTaskApplicationTests : 任务全部完成,总耗时:6078毫秒

以上是关于#yyds干货盘点# springboot配置@Async异步任务的线程池的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#jackson学习之九:springboot整合(配置文件)

SpringBoot | 3.1 配置数据源及JDBC #yyds干货盘点#

Springboot自动装配详解#yyds干货盘点#

SpringBoot | 4.1 SpringMVC的自动配置 #yyds干货盘点#

#yyds干货盘点# Spring Boot零配置启动原理

#yyds干货盘点#让SpringBoot不需要ControllerServiceDAOMapper, 这款工具绝了!