本文借鉴《JavaEE开发的颠覆者SpringBoot》这本书
Springboot开启多线程需要用到两个注解:@EnableAsync和@Async;
@EnableAsync:在配置类中通过@EnableAsync注解开启对异步任务的支持
@Async:在实际执行的Bean的方法中使用@Async注解来表明这是一个异步任务,在方法中使用表示该方法是异步任务,在类中使用表明该类的所有方法都是异步任务。
示例:
(1)配置类:
代码介绍:1、用@EnableAsync注解开启对异步任务的支持。
2、配置类实现AsyncConfigurer接口并重写getAsync方法获取ThreadPoolTaskExecutor对象和设置ThreadPoolTaskExecutor的参数。
(2)任务进行类
代码介绍:用@Async注解表明该方法是一个异步任务,并且ThreadPoolTaskExecutor是自动注入作为该方法的taskExecutor。在这里为了更好的展示效果,我让线程一延迟1秒。
(3)运行
(4)结果