gpt4 book ai didi

java - 有没有一种简单的方法可以将 Future> 变成 Future

转载 作者:IT老高 更新时间:2023-10-28 21:02:09 28 4
gpt4 key购买 nike

我有一些代码可以将请求提交给另一个线程,该线程可能会也可能不会将该请求提交给另一个线程。这会产生 Future<Future<T>> 的返回类型.是否有一些非令人发指的方法可以立即将其变成 Future<T>等待整个 future 链的完成?

我已经在使用 Guava 库来处理其他有趣的并发内容,并作为 Google Collections 的替代品,它运行良好,但我似乎找不到适合这种情况的东西。

最佳答案

使用 Guava 库的另一种可能的实现方式要简单得多。

import java.util.concurrent.*;
import com.google.common.util.concurrent.*;
import com.google.common.base.*;

public class FFutures {
public <T> Future<T> flatten(Future<Future<T>> future) {
return Futures.chain(Futures.makeListenable(future), new Function<Future<T>, ListenableFuture<T>>() {
public ListenableFuture<T> apply(Future<T> f) {
return Futures.makeListenable(f);
}
});
}
}

关于java - 有没有一种简单的方法可以将 Future<Future<T>> 变成 Future<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165167/

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