3

ListenableFutureそのように機能するユーティリティがあるかどうか疑問に思っていましallAsListたが、呼び出すとget(50, TimeUnit.Milliseconds)完了したものがすべて返されます。

4

1 に答える 1

0

いいえ、しかし、この関連する質問でも説明されているように 、答えがそこにあると思うので、将来的にはあるかもしれません: ListenableFuture、FutureCallback、およびタイムアウト

基本的に、特別な種類の Futures#allAsList() を使用する代わりに、すべての先物にタイムアウト付きのコールバックを追加し、それらに対して Futures#successfulAsList() を使用できます。したがって、タイムアウトしたすべての Future は TimeoutException で失敗し、Futures#successfulAsList() は成功したもののみを返します。つまり、あらゆる種類の例外 (TimeoutException を含む) で失敗したものは返しません。

残念ながら、これはまだ guava に実装されていません (guava のトラッカーの問題への最初のリンクを参照してください) が、少なくとも有効な要求として受け入れられています。

于 2014-01-16T17:39:32.517 に答える