我们在使用多线程的时候,往往需要创建Thread类,或者实现Runnable接口,如果要使用到线程池,我们还需要创建Exectors。而在Spring中只要@EnableAsync就可以开启多线程,使用@Async就可以定义一个线程任务。
1、什么是异步调用
异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。
2、如何实现异步调用
多线程,这是很多人第一眼想到的关键词,没错,多线程就是一种实现异步调用的方式。
在非spring目项目中我们要实现异步调用的就是使用多线程方式,可以自己实现Runable接口或者集成Thread类,或者使用jdk1.5以上提供了的Executors线程池。
3、springBoot异步执行方法@Async
首先创建一个普通的SpringBoot Web工程,添加web依赖即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
开启异步,@EnableAsync 注解主要是为了扫描范围包下的所有 @Async注解
@EnableAsync
@SpringBootApplication
public clas