java线程池 CompletableFuture
时间: 2023-11-10 18:02:29 浏览: 132
Java线程池CompletableFuture是一种异步编程工具,它基于Future和Promise的概念,可以让我们更方便地编写异步代码。CompletableFuture可以通过链式调用的方式进行任务的组合和串行/并行执行。
在CompletableFuture中,我们可以使用supplyAsync()方法创建一个CompletableFuture对象,并在其中执行一个异步任务。例如,下面的代码创建了一个CompletableFuture对象,用于计算两个数字的和:
```java
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {
int sum = 1 + 2;
return sum;
});
```
我们还可以使用thenApply()方法对CompletableFuture对象进行转换操作,将当前结果传递给下一个任务。例如,下面的代码将上述的CompletableFuture对象的结果加上5:
```java
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {
int sum = 1 + 2;
return sum;
}).thenApply(result -> result + 5);```
除了thenApply()方法,CompletableFuture还提供了许多其他方法,如thenAccept()、thenCompose()、thenCombine()等,用于不同的任务组合和转换操作。
阅读全文