Interface ListeningExecutorService

All Superinterfaces:
java.util.concurrent.Executor, java.util.concurrent.ExecutorService
All Known Subinterfaces:
ListeningScheduledExecutorService
All Known Implementing Classes:
AbstractListeningExecutorService

@GwtIncompatible
public interface ListeningExecutorService
extends java.util.concurrent.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 Summary

    Modifier and Type Method Description
    <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
    <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)
    ListenableFuture<?> submit​(java.lang.Runnable task)  
    <T> ListenableFuture<T> submit​(java.lang.Runnable task, T result)  
    <T> ListenableFuture<T> submit​(java.util.concurrent.Callable<T> task)  

    Methods inherited from interface java.util.concurrent.Executor

    execute

    Methods inherited from interface java.util.concurrent.ExecutorService

    awaitTermination, invokeAny, invokeAny, isShutdown, isTerminated, shutdown, shutdownNow
  • Method Details

    • submit

      <T> ListenableFuture<T> submit​(java.util.concurrent.Callable<T> task)
      Specified by:
      submit in interface java.util.concurrent.ExecutorService
      Returns:
      a ListenableFuture representing pending completion of the task
      Throws:
      java.util.concurrent.RejectedExecutionException
    • submit

      ListenableFuture<?> submit​(java.lang.Runnable task)
      Specified by:
      submit in interface java.util.concurrent.ExecutorService
      Returns:
      a ListenableFuture representing pending completion of the task
      Throws:
      java.util.concurrent.RejectedExecutionException
    • submit

      <T> ListenableFuture<T> submit​(java.lang.Runnable task, T result)
      Specified by:
      submit in interface java.util.concurrent.ExecutorService
      Returns:
      a ListenableFuture representing pending completion of the task
      Throws:
      java.util.concurrent.RejectedExecutionException
    • invokeAll

      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks) throws java.lang.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 java.util.concurrent.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.
      Throws:
      java.util.concurrent.RejectedExecutionException
      java.lang.NullPointerException - if any task is null
      java.lang.InterruptedException
    • invokeAll

      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.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 java.util.concurrent.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.
      Throws:
      java.util.concurrent.RejectedExecutionException
      java.lang.NullPointerException - if any task is null
      java.lang.InterruptedException