public final class ExecutionList extends Object
ListenableFuture implementations to manage their listeners. An instance contains a list of listeners, each with an associated
Executor, and guarantees that every
Runnable that is
added will be executed after
execute() is called. Any
Runnable added after the call to
execute is still guaranteed to execute. There is no guarantee, however, that listeners will be executed in the order that they are added.
Exceptions thrown by a listener will be propagated up to the executor. Any exception thrown during Executor.execute (e.g., a RejectedExecutionException or an exception thrown by direct execution) will be caught and logged.
| Constructor and Description |
|---|
ExecutionList()
Creates a new, empty
ExecutionList.
|
public ExecutionList()
ExecutionList.
public void add(Runnablerunnable, Executor executor)
Runnable and accompanying
Executor to the list of listeners to execute. If execution has already begun, the listener is executed immediately.
When selecting an executor, note that directExecutor is dangerous in some cases. See the discussion in the ListenableFuture.addListener documentation.
public void execute()
This method is idempotent. Calling it several times in parallel is semantically equivalent to calling it exactly once.
run)