后端java异步代码示例
时间: 2024-10-09 11:13:40 浏览: 50
在Java中,异步编程通常通过Future、ExecutorService或者CompletableFuture等API来实现。这里是一个简单的Spring Boot应用中使用CompletableFuture的例子:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.CompletableFuture;
public class AsyncExample {
private static final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 初始化线程池...
public CompletableFuture<String> asyncProcess(String input) {
return CompletableFuture.supplyAsync(() -> {
// 这里模拟耗时操作
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Async result for " + input;
}, executor);
}
public void callAsyncTask(String input) {
CompletableFuture<String> future = asyncProcess(input);
future.thenAccept(result -> System.out.println("Received result: " + result));
}
public static void main(String[] args) {
AsyncExample example = new AsyncExample();
example.callAsyncTask("Hello");
}
}
```
在这个例子中,`asyncProcess`方法接受一个字符串输入,并返回一个CompletableFuture对象。真正的处理工作是在`supplyAsync`函数的回调中完成,这是一个异步任务,会在单独的线程上运行。`callAsyncTask`方法则是发起这个异步操作并打印结果。
阅读全文