gpt4 book ai didi

java - 来自 ExecutorService 的 CompletableFuture

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:00:59 27 4
gpt4 key购买 nike

我已经创建了一个自定义的 ExecutorService

ExecutorService executor =
new ThreadPoolExecutor(0, maxPoolSize, keepAliveTime, timeUnit,
new LinkedBlockingDeque<>());

我向其提交我的任务

Future<String> result = executor.submit(() -> "test");

如您所见,执行器返回了一个微不足道的Future;我宁愿有一个 CompletableFuture我可以与其他 CompletableFuture 链接。

Guava , 我们有 ListeningExecutorService返回 ListenableFutures .就我的意图和目的而言,那些 ListenableFutureCompletableFuture 一样好。

不过,我还是想尽可能多地使用 Java 的标准库,这意味着我正在寻找一种方法来从我的自定义执行程序中获取 CompletableFuture

最佳答案

事后看来很明显:不要尝试从执行器获取 CompletableFuture,而是将执行器传递给 CompletableFuture

像这样:

CompletableFuture<String> futureOutput =
CompletableFuture.supplyAsync(() -> "test", executor);

任务将使用 executor 提供的线程之一执行,客户端可以使用 CompletableFuture 的所有便利来获取任务结果。

关于java - 来自 ExecutorService 的 CompletableFuture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47750763/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com