在启动类上添加注解
@EnableAsync
会开启spring boot 的异步
会在底层创建一个线程池(不同于tomcat的线程)
用来异步的处理影响用户体验的业务
@EnableAsync //spring容器启动时会创建线程池
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在需要异步线程处理的方法上添加注解
@Async
会为这个方法从线程池中单独分配线程执行
在配置文件中为线程池配置参数
spring:
task:
execution:
pool:
queue-capacity: 128 #等待队列的大小
core-size: 5 #核心线程数
max-size: 128 #最大线程数
keep-alive: 60000 #线程空闲时间(当线程空闲60*1000 毫秒的时候会释放线程)
thread-name-prefix: db-service-task- #给线程起的名字前缀