Interface ListeningExecutorService

All Superinterfaces:
AutoCloseable, Executor, ExecutorService
All Known Subinterfaces:
ListeningScheduledExecutorService
All Known Implementing Classes:
AbstractListeningExecutorService, ForwardingListeningExecutorService

@DoNotMock("Use TestingExecutors.sameThreadScheduledExecutor, or wrap a real Executor from java.util.concurrent.Executors with MoreExecutors.listeningDecorator") @GwtIncompatible public interface ListeningExecutorService extends ExecutorService
An ExecutorService that returns ListenableFuture instances. To create an instance from an existing ExecutorService, call MoreExecutors.listeningDecorator(ExecutorService).
Since:
10.0
Author:
Chris Povirk
  • Method Details

    • submit

      <T extends @Nullable Object> ListenableFuture<T> submit(Callable<T> task)
      Specified by:
      submit in interface ExecutorService
      Returns:
      a ListenableFuture representing pending completion of the task
    • submit

      ListenableFuture<?> submit(Runnable task)
      Specified by:
      submit in interface ExecutorService
      Returns:
      a ListenableFuture representing pending completion of the task
    • submit

      <T extends @Nullable Object> ListenableFuture<T> submit(Runnable task, T result)
      Specified by:
      submit in interface ExecutorService
      Returns:
      a ListenableFuture representing pending completion of the task
    • invokeAll

      <T extends @Nullable Object> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException

      All elements in the returned list must be ListenableFuture instances. The easiest way to obtain a List<ListenableFuture<T>> from this method is an unchecked (but safe) cast:

         @SuppressWarnings("unchecked") // guaranteed by invokeAll contract
         List<ListenableFuture<T>> futures = (List) executor.invokeAll(tasks);
       
      Specified by:
      invokeAll in interface ExecutorService
      Returns:
      A list of ListenableFuture instances representing the tasks, in the same sequential order as produced by the iterator for the given task list, each of which has completed.
    • invokeAll

      <T extends @Nullable Object> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException

      All elements in the returned list must be ListenableFuture instances. The easiest way to obtain a List<ListenableFuture<T>> from this method is an unchecked (but safe) cast:

         @SuppressWarnings("unchecked") // guaranteed by invokeAll contract
         List<ListenableFuture<T>> futures = (List) executor.invokeAll(tasks, timeout, unit);
       
      Specified by:
      invokeAll in interface ExecutorService
      Returns:
      a list of ListenableFuture instances representing the tasks, in the same sequential order as produced by the iterator for the given task list. If the operation did not time out, each task will have completed. If it did time out, some of these tasks will not have completed.