public abstract class java.util.concurrent
AbstractExecutorService


Hide details Login
Java SE 6
  
Implements: ExecutorService
Extended by: ThreadPoolExecutor

Provides default implementations of ExecutorService execution methods. This class implements the submit, invokeAny and invokeAll methods using a RunnableFuture returned by newTaskFor, which defaults to the FutureTask class provided in this package. For example, the implementation of submit(Runnable) creates an associated RunnableFuture that is executed and returned. Subclasses may override the newTaskFor methods to return RunnableFuture implementations other than FutureTask.

Extension example. Here is a sketch of a class that customizes ThreadPoolExecutor to use a CustomTask class instead of the default FutureTask:

 public class CustomThreadPoolExecutor extends ThreadPoolExecutor {

   static class CustomTask<V> implements RunnableFuture<V> {...}

   protected <V> RunnableFuture<V> newTaskFor(Callable<V> c) {
       return new CustomTask<V>(c);
   }
   protected <V> RunnableFuture<V> newTaskFor(Runnable r, V v) {
       return new CustomTask<V>(r, v);
   }
   // ... add constructors, etc.
 }
 
since1.5

Constructors
public AbstractExecutorService()

Methods
public List<T> invokeAll(Collection tasks) throws InterruptedException
public List<T> invokeAll(Collection tasks, long timeout, TimeUnit unit) throws InterruptedException
public Object<T> invokeAny(Collection tasks) throws InterruptedException, ExecutionException
public Object<T> invokeAny(Collection tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
protected RunnableFuture<T> newTaskFor(Runnable runnable, Object value)
Returns a RunnableFuture for the given runnable and default value.
runnablethe runnable task being wrapped
valuethe default value for the returned future
returna RunnableFuture which when run will run the underlying runnable and which, as a Future, will yield the given value as its result and provide for cancellation of the underlying task.
since1.6
protected RunnableFuture<T> newTaskFor(Callable callable)
Returns a RunnableFuture for the given callable task.
callablethe callable task being wrapped
returna RunnableFuture which when run will call the underlying callable and which, as a Future, will yield the callable's result as its result and provide for cancellation of the underlying task.
since1.6
public Future submit(Runnable task)
public Future<T> submit(Runnable task, Object result)
public Future<T> submit(Callable task)