FutureTask怎么转换成CompletableFuture
时间: 2023-12-02 15:42:41 浏览: 82
可以使用`CompletableFuture`的`supplyAsync`方法将`FutureTask`转换为`CompletableFuture`。具体步骤如下:
1. 创建一个`FutureTask`对象。
2. 使用`CompletableFuture.supplyAsync`方法将`FutureTask`对象转换为`CompletableFuture`对象。
3. 调用`CompletableFuture`对象的方法来处理异步计算结果。
下面是一个示例代码:
```java
FutureTask<String> futureTask = new FutureTask<>(new Callable<String>() {
@Override
public String call() throws Exception {
// 异步计算
return "Hello, CompletableFuture!";
}
});
CompletableFuture<String> completableFuture = CompletableFuture.supplyAsync(() -> {
try {
// 等待FutureTask的计算结果
return futureTask.get();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
return null;
}
});
// 处理异步计算结果
completableFuture.thenAccept(result -> System.out.println(result));
```
阅读全文