| java.lang.Object java.util.concurrent.AbstractExecutorService
All known Subclasses: java.util.concurrent.ThreadPoolExecutor,
AbstractExecutorService | abstract public class AbstractExecutorService implements ExecutorService(Code) | | 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.
}
since: 1.5 author: Doug Lea |
newTaskFor | protected RunnableFuture<T> newTaskFor(Runnable runnable, T value)(Code) | | Returns a RunnableFuture for the given runnable and default
value.
Parameters: runnable - the runnable task being wrapped Parameters: value - the default value for the returned future a RunnableFuture which when run will run theunderlying runnable and which, as a Future, will yieldthe given value as its result and provide for cancellation ofthe underlying task. since: 1.6 |
newTaskFor | protected RunnableFuture<T> newTaskFor(Callable<T> callable)(Code) | | Returns a RunnableFuture for the given callable task.
Parameters: callable - the callable task being wrapped a RunnableFuture which when run will call theunderlying callable and which, as a Future, will yieldthe callable's result as its result and provide forcancellation of the underlying task. since: 1.6 |
|
|