Home | History | Annotate | Download | only in concurrent
      1 /*
      2  * This file is a modified version of
      3  * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concurrent/ExecutorService.java?revision=1.51
      4  * which contained the following notice:
      5  *
      6  * Written by Doug Lea with assistance from members of JCP JSR-166
      7  * Expert Group and released to the public domain, as explained at
      8  * http://creativecommons.org/publicdomain/zero/1.0/
      9  */
     10 
     11 package java.util.concurrent;
     12 
     13 import java.util.Collection;
     14 import java.util.List;
     15 
     16 public interface ExecutorService extends Executor {
     17   void shutdown();
     18 
     19   List<Runnable> shutdownNow();
     20 
     21   boolean isShutdown();
     22 
     23   boolean isTerminated();
     24 
     25   boolean awaitTermination(long timeout, TimeUnit unit)
     26       throws InterruptedException;
     27 
     28   <T> Future<T> submit(Callable<T> task);
     29 
     30   <T> Future<T> submit(Runnable task, T result);
     31 
     32   Future<?> submit(Runnable task);
     33 
     34   <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks)
     35       throws InterruptedException;
     36 
     37   <T> List<Future<T>> invokeAll(
     38       Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
     39       throws InterruptedException;
     40 
     41   <T> T invokeAny(Collection<? extends Callable<T>> tasks)
     42       throws InterruptedException, ExecutionException;
     43 
     44   <T> T invokeAny(
     45       Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
     46       throws InterruptedException, ExecutionException, TimeoutException;
     47 }
     48