Spring Boot 的多线程

时间:2021-10-08 23:20:14

本文借鉴《JavaEE开发的颠覆者SpringBoot》这本书

Springboot开启多线程需要用到两个注解:@EnableAsync和@Async;

@EnableAsync:在配置类中通过@EnableAsync注解开启对异步任务的支持

@Async:在实际执行的Bean的方法中使用@Async注解来表明这是一个异步任务,在方法中使用表示该方法是异步任务,在类中使用表明该类的所有方法都是异步任务。

示例:

(1)配置类:

Spring Boot 的多线程

代码介绍:1、用@EnableAsync注解开启对异步任务的支持。

2、配置类实现AsyncConfigurer接口并重写getAsync方法获取ThreadPoolTaskExecutor对象和设置ThreadPoolTaskExecutor的参数。

(2)任务进行类

Spring Boot 的多线程

代码介绍:用@Async注解表明该方法是一个异步任务,并且ThreadPoolTaskExecutor是自动注入作为该方法的taskExecutor。在这里为了更好的展示效果,我让线程一延迟1秒。

(3)运行

Spring Boot 的多线程

(4)结果

Spring Boot 的多线程