步骤:
第一步:启动类添加注解@EnableAsync
第二步:创建自定义的异步类,并添加注解:@Component @Async(1.添加到类的话这个就是个异步类,里面的所有方法都是异步方法 2.添加到方法上说明该方法是异步方法)
第三步:编写测试方法测试
代码:
AsyncTask
@Component
@Async
public class AsyncTask {
public void task1(){
try {
Thread.sleep(4000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("task1");
}
public void task2(){
try {
Thread.sleep(4000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("task2");
}
public void task3(){
try {
Thread.sleep(4000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("task3");
}
}
测试方法:
@Autowired
private AsyncTask asyncTask;
@GetMapping("async")
public JsonData testAsync(){
long begin=System.currentTimeMillis();
asyncTask.task1();
asyncTask.task2();
asyncTask.task3();
long end=System.currentTimeMillis();
return JsonData.buildSuccess(end-begin);
}
测试截图:
开启异步:(任务顺序随机不是顺序执行)
关闭异步: