异步调用

在Spring Boot中,我们只需要通过使用@Async注解就能简单的将原来的同步函数变为异步函数


异步调用_第1张图片

为了让@Async注解能够生效,还需要在Spring Boot的主程序中配置@EnableAsync,如下所示:


异步调用_第2张图片

此时可以反复执行单元测试,您可能会遇到各种不同的结果,比如:

没有任何任务相关的输出

有部分任务相关的输出

乱序的任务相关的输出

原因是目前doTaskOne、doTaskTwo、doTaskThree三个函数的时候已经是异步执行了。主程序在异步调用之后,主程序并不会理会这三个函数是否执行完成了,由于没有其他需要执行的内容,所以程序就自动结束了,导致了不完整或是没有输出任务相关内容的情况。

注: @Async所修饰的函数不要定义为static类型,这样异步调用不会生效

你可能感兴趣的:(异步调用)