异步调用,相似咱们多年前的ajax调用,局部刷新,总体不变,固然,在java的后台的异步调用,相似于本身实现一个多线程的程序,任务开启一个线程后由它最去执行,咱们实际上是不能干预太多的。。 在实际的开发中,若是某一个方法须要异步去执行,那么咱们能够在它前面加上注解。@Async
@SpringBootApplication
@EnableAsync
public class Application{ java
public static void main(String[] args) { SpringApplication.run(Application.class, args); }
}ajax
@RequestMapping("")
public String doTask() throws InterruptedException{
long currentTimeMillis = System.currentTimeMillis();
this.task1();
this.task2();
this.task3();
long currentTimeMillis1 = System.currentTimeMillis();
return "task任务总耗时:"+(currentTimeMillis1-currentTimeMillis)+"ms";
} markdown
@Async public void task1() throws InterruptedException{ long currentTimeMillis = System.currentTimeMillis(); Thread.sleep(1000); long currentTimeMillis1 = System.currentTimeMillis(); System.out.println("task1任务耗时:"+(currentTimeMillis1-currentTimeMillis)+"ms"); } @Async public void task2() throws InterruptedException{ long currentTimeMillis = System.currentTimeMillis(); Thread.sleep(2000); long currentTimeMillis1 = System.currentTimeMillis(); System.out.println("task2任务耗时:"+(currentTimeMillis1-currentTimeMillis)+"ms"); } 好比须要调用一个发送短信的任务,实际短信是渠道方去发的,那么咱们在把请求提交过去基本就结束了,这个时候就能够作一个异步的调用来实现。。