@Async
注解由 Spring 框架提供,被该注解标注的类或方法会在 异步线程 中执行。这意味着当方法被调用时,调用者将不会等待该方法执行完成,而是可以继续执行后续的代码。
@Async
注解的使用非常简单,需要两个步骤:
- 在启动类上添加注解
@EnableAsync
,开启异步任务。 - 在需要异步执行的方法或类上添加注解
@Async
。
@SpringBootApplication
// 开启异步任务
@EnableAsync
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
// 异步服务类
@Service
public class MyService {
// 推荐使用自定义线程池,这里只是演示基本用法
@Async
public CompletableFuture<String> doSomethingAsync() {
// 这里会有一些业务耗时操作
// ...
// 使用 CompletableFuture 可以更方便地处理异步任务的结果,避免阻塞主线程
return CompletableFuture.completedFuture("Async Task Completed");
}
}