|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class AbstractExecutorService extends Object implements ExecutorService
ExecutorService методы выполнения. Этот class реализует submit, методы invokeAny И invokeAll, используя a RunnableFuture возвращенный newTaskFor, который значения по умолчанию к FutureTask class обеспечил в этом пакете. Например, реализация submit(Runnable) создает связанный RunnableFuture, который выполняется и возвращается. Подклассы могут переопределить методы newTaskFor, чтобы возвратить реализации RunnableFuture кроме FutureTask. Пример расширения. Вот эскиз class, который настраивает ThreadPoolExecutor использовать CustomTask class вместо значения по умолчанию 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.
}| Конструктор и Описание |
|---|
AbstractExecutorService() |
| Модификатор и Тип | Метод и Описание |
|---|---|
<T> List<Future<T>> |
invokeAll(Collection<? extends Callable<T>> tasks)
Выполняет данные задачи, возвращая список Фьючерса, содержащего их состояние, и заканчивается, когда все завершаются.
|
<T> List<Future<T>> |
invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
Выполняет данные задачи, возвращая список Фьючерса, содержащего их состояние, и заканчивается, когда все завершаются, или тайм-аут истекает, какой бы ни происходит сначала.
|
<T> T |
invokeAny(Collection<? extends Callable<T>> tasks)
Выполняет данные задачи, возвращая результат того, который завершился успешно (то есть, не выдавая исключение), если кто-либо делает.
|
<T> T |
invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
Выполняет данные задачи, возвращая результат того, который завершился успешно (то есть, не выдавая исключение), если кто-либо делает прежде, чем данный тайм-аут протекает.
|
protected <T> RunnableFuture<T> |
newTaskFor(Callable<T> callable)
Возвращает RunnableFuture для данной вызываемой задачи.
|
protected <T> RunnableFuture<T> |
newTaskFor(Runnable runnable, T value)
Возвращает RunnableFuture для данного выполнимого и значения по умолчанию.
|
<T> Future<T> |
submit(Callable<T> task)
Представляет возвращающую значение задачу для выполнения и возвращает Будущее, представляющее результаты на ожидании задачи.
|
Future<?> |
submit(Runnable task)
Представляет Выполнимую задачу для выполнения и возвращает Будущее, представляющее ту задачу.
|
<T> Future<T> |
submit(Runnable task, T result)
Представляет Выполнимую задачу для выполнения и возвращает Будущее, представляющее ту задачу.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitawaitTermination, isShutdown, isTerminated, shutdown, shutdownNowвыполнитьсяprotected <T> RunnableFuture<T> newTaskFor(Runnable runnable, T value)
runnable - выполнимая обертываемая задачаvalue - значение по умолчанию для возвращенного будущегоprotected <T> RunnableFuture<T> newTaskFor(Callable<T> callable)
callable - вызываемая обертываемая задачаpublic Future<?> submit(Runnable task)
ExecutorServicesubmit в интерфейсе ExecutorServicetask - задача подчинитьсяRejectedExecutionException - если задача не может быть запланирована для выполненияNullPointerException - если задачей является нульpublic <T> Future<T> submit(Runnable task, T result)
ExecutorServicesubmit в интерфейсе ExecutorServicetask - задача подчинитьсяresult - результат возвратитьсяRejectedExecutionException - если задача не может быть запланирована для выполненияNullPointerException - если задачей является нульpublic <T> Future<T> submit(Callable<T> task)
ExecutorServiceЕсли требуется сразу блокировать ожидание задачи, можно использовать конструкции формы result = exec.submit(aCallable).get();
Отметьте: Executors class включает ряд методов, которые могут преобразовать некоторые другие общие подобные закрытию объекты, например, PrivilegedAction к Callable сформируйтесь, таким образом, они могут быть представлены.
submit в интерфейсе ExecutorServicetask - задача подчинитьсяRejectedExecutionException - если задача не может быть запланирована для выполненияNullPointerException - если задачей является нульpublic <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException
ExecutorServiceinvokeAny в интерфейсе ExecutorServicetasks - набор задачInterruptedException - если прервано, ожидаяExecutionException - если никакая задача успешно не завершаетсяpublic <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
ExecutorServiceinvokeAny в интерфейсе ExecutorServicetasks - набор задачtimeout - максимальное время, чтобы ожидатьunit - единица измерения времени параметра тайм-аутаInterruptedException - если прервано, ожидаяExecutionException - если никакая задача успешно не завершаетсяTimeoutException - если данный тайм-аут протекает прежде, чем любая задача успешно завершаетсяpublic <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException
ExecutorServiceFuture.isDone() true для каждого элемента возвращенного списка. Отметьте, что завершенная задача, возможно, завершилась или обычно или выдавая исключение. Результаты этого метода неопределены, если данный набор изменяется, в то время как эта работа происходит.invokeAll в интерфейсе ExecutorServicetasks - набор задачInterruptedException - если прервано, ожидая, когда отменяются незаконченные задачи.public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException
ExecutorServiceFuture.isDone() true для каждого элемента возвращенного списка. По возврату отменяются задачи, которые не завершились. Отметьте, что завершенная задача, возможно, завершилась или обычно или выдавая исключение. Результаты этого метода неопределены, если данный набор изменяется, в то время как эта работа происходит.invokeAll в интерфейсе ExecutorServicetasks - набор задачtimeout - максимальное время, чтобы ожидатьunit - единица измерения времени параметра тайм-аутаInterruptedException - если прервано, ожидая, когда отменяются незаконченные задачи
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92