11d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert/* 21d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * This file is a modified version of 31d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concurrent/ExecutorService.java?revision=1.51 41d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * which contained the following notice: 51d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * 61d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Written by Doug Lea with assistance from members of JCP JSR-166 71d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Expert Group and released to the public domain, as explained at 81d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * http://creativecommons.org/publicdomain/zero/1.0/ 91d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert */ 101d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 111d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertpackage java.util.concurrent; 121d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 131d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport java.util.Collection; 141d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport java.util.List; 151d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 161d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertpublic interface ExecutorService extends Executor { 171d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert void shutdown(); 181d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 191d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert List<Runnable> shutdownNow(); 201d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 211d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert boolean isShutdown(); 221d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 231d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert boolean isTerminated(); 241d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 251d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert boolean awaitTermination(long timeout, TimeUnit unit) 261d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert throws InterruptedException; 271d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 281d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert <T> Future<T> submit(Callable<T> task); 291d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 301d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert <T> Future<T> submit(Runnable task, T result); 311d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 321d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert Future<?> submit(Runnable task); 331d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 341d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) 351d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert throws InterruptedException; 361d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 371d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert <T> List<Future<T>> invokeAll( 381d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) 391d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert throws InterruptedException; 401d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 411d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert <T> T invokeAny(Collection<? extends Callable<T>> tasks) 421d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert throws InterruptedException, ExecutionException; 431d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 441d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert <T> T invokeAny( 451d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) 461d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert throws InterruptedException, ExecutionException, TimeoutException; 471d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 48