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(Runnable runnable, 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
)Copyright © 2010-2015. All Rights Reserved.