@Beta public final class JdkFutureAdapters extends Object
Future instances. Note that, whenver possible, it is strongly preferred to modify those libraries to return
ListenableFuture directly.
Futures.makeListenable, which existed in 1.0)
| Modifier and Type | Method and Description |
|---|---|
static <V> ListenableFuture |
listenInPoolThread(Future
Assigns a thread to the given
Future to provide
ListenableFuture functionality.
|
static <V> ListenableFuture |
listenInPoolThread(Future
Submits a blocking task for the given
Future to provide
ListenableFuture functionality.
|
public static <V> ListenableFuture<V> listenInPoolThread(Future <V> future)
Future to provide
ListenableFuture functionality.
Warning: If the input future does not already implement ListenableFuture, the returned future will emulate ListenableFuture by taking a thread from an internal, unbounded pool at the first call to addListener and holding it until the future is done.
Prefer to create ListenableFuture instances with SettableFuture, MoreExecutors, ListenableFutureTask, AbstractFuture, and other utilities over creating plain Future instances to be upgraded to ListenableFuture after the fact.
public static <V> ListenableFuture<V> listenInPoolThread(Future <V> future, Executor executor)
Future to provide
ListenableFuture functionality.
Warning: If the input future does not already implement ListenableFuture, the returned future will emulate ListenableFuture by submitting a task to the given executor at the first call to addListener. The task must be started by the executor promptly, or else the returned ListenableFuture may fail to work. The task's execution consists of blocking until the input future is done, so each call to this method may claim and hold a thread for an arbitrary length of time. Use of bounded executors or other executors that may fail to execute a task promptly may result in deadlocks.
Prefer to create ListenableFuture instances with SettableFuture, MoreExecutors, ListenableFutureTask, AbstractFuture, and other utilities over creating plain Future instances to be upgraded to ListenableFuture after the fact.