gpt4 book ai didi

java - 如何在不阻塞的情况下启动 CompletableFuture 并在完成后执行某些操作?

转载 作者:搜寻专家 更新时间:2023-11-01 02:39:34 26 4
gpt4 key购买 nike

CompletableFuture API 相当吓人,大量的接受,然后等等;很难说为什么存在不同的选择。

CompletableFuture<?> future = CompletableFuture.supplyAsync(() ->..., executor)

future.startNonBlocking...( (...) -> { callback behavior done when complete }

我基本上是在尝试模仿 new Thread(() -> dostuff).start() 但具有更好的线程池、错误处理等。注意:我实际上并不需要Runnable 接口(interface),我正在生成一段现有代码。

启动我的异步任务并在完成时执行行为的正确方法是什么?或处理抛出的异常?

最佳答案

这是一个简单的异步回调:

CompletableFuture.supplyAsync(() -> [result]).thenAccept(result -> [action]);

或者如果您需要错误处理:

CompletableFuture.supplyAsync(() -> [result]).whenComplete((result, exception) -> {
if (exception != null) {
// handle exception
} else {
// handle result
}
});

关于java - 如何在不阻塞的情况下启动 CompletableFuture 并在完成后执行某些操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37018338/

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