ListenableFuture
そのように機能するユーティリティがあるかどうか疑問に思っていましallAsList
たが、呼び出すとget(50, TimeUnit.Milliseconds)
完了したものがすべて返されます。
1 に答える
0
いいえ、しかし、この関連する質問でも説明されているように 、答えがそこにあると思うので、将来的にはあるかもしれません: ListenableFuture、FutureCallback、およびタイムアウト
基本的に、特別な種類の Futures#allAsList() を使用する代わりに、すべての先物にタイムアウト付きのコールバックを追加し、それらに対して Futures#successfulAsList() を使用できます。したがって、タイムアウトしたすべての Future は TimeoutException で失敗し、Futures#successfulAsList() は成功したもののみを返します。つまり、あらゆる種類の例外 (TimeoutException を含む) で失敗したものは返しません。
残念ながら、これはまだ guava に実装されていません (guava のトラッカーの問題への最初のリンクを参照してください) が、少なくとも有効な要求として受け入れられています。
于 2014-01-16T17:39:32.517 に答える