java - Guava ListenableFuture allAsList 返回 get 到目前为止看到的所有内容

标签 java guava

我想知道ListenableFuture是否有任何像allAsList一样工作的实用程序,但如果你调用get(50, TimeUnit.Milliseconds)返回所有已完成的内容。

最佳答案

不,但将来可能会有,我认为答案就在 there正如这个相关问题中所讨论的: ListenableFuture, FutureCallback and timeouts

基本上,您可以在所有 futures 上添加一个带有超时的回调,并在它们之上使用 Futures#successfulAsList() ,而不是使用特殊类型的 Futures#allAsList() 。因此,每个超时的 future 都会因 TimeoutException 而失败,并且 Futures#successfulAsList() 将仅返回成功的,即不会返回因任何类型的异常(包括 TimeoutException)而失败的那些。

不幸的是,这尚未在 guava 中实现(请参阅 guava 跟踪器问题的第一个链接),但至少已作为有效请求被接受。

关于java - Guava ListenableFuture allAsList 返回 get 到目前为止看到的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16309203/

相关文章:

java - Guava Cache 的概率提前过期

java - 用于转换 future 的流利语法

java - Splitter 在简单的 Pattern 上爆炸

java - 如何在网页上运行.jar文件?

java - Bean(有时)未在 servlet 中填充

java - 添加 400 个标记时,Android Google Map addMarker() 非常慢

java - 如何查找对类的所有对象的所有调用

java - 我无法在本地构建我的 Android 应用程序 - PhoneGap 新手

java - 将几个 Guava 多重集合并为一个

WebLogic 12c 中的 Guava 15.0 jar 冲突