springboot 异步框架futrue
时间: 2024-09-18 19:09:19 浏览: 34
Spring Boot 提供了一个强大的异步处理框架 Future,它基于 Java 并发库 CompletableFuture。Future 是一种用于表示异步操作结果的概念,它允许你在一个线程上发起一个任务,并在另一个线程上获取其结果,即使这个任务还没有完成。
在 Spring Boot 中,你可以使用 @Async 注解标记一个方法来声明它是异步执行的。当这个方法运行时,Spring Boot 的 TaskScheduler 将会在后台线程池中执行。一旦任务完成,它会返回一个 CompletableFuture 对象,你可以通过 thenApply、thenAccept 或者 get() 等方法来处理最终的结果,或者设置回调函数。
例如:
```java
@Service
public class MyService {
@Async
public CompletableFuture<String> asyncTask(String input) {
// 异步执行耗时的操作
return CompletableFuture.supplyAsync(() -> {
Thread.sleep(5000); // 模拟延迟
return "Async Result: " + input;
});
}
public void handleResult(CompletableFuture<String> result) {
try {
String output = result.get(); // 如果需要阻塞等待结果
System.out.println(output);
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
}
```
阅读全文