Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class AbstractExecutorService extends Object implements ExecutorService
ExecutorService
методы выполнения. Этот класс реализует submit, методы invokeAny И invokeAll, используя a RunnableFuture
возвращенный newTaskFor, который значения по умолчанию к FutureTask
класс обеспечил в этом пакете. Например, реализация submit(Runnable) создает связанный RunnableFuture, который выполняется и возвращается. Подклассы могут переопределить методы newTaskFor, чтобы возвратить реализации RunnableFuture кроме FutureTask. Пример расширения. Вот эскиз класса, который настраивает ThreadPoolExecutor
использовать класс CustomTask вместо 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, wait
awaitTermination, 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)
ExecutorService
submit
в интерфейсе ExecutorService
task
- задача подчинитьсяRejectedExecutionException
- если задача не может быть запланирована для выполненияNullPointerException
- если задачей является нульpublic <T> Future<T> submit(Runnable task, T result)
ExecutorService
submit
в интерфейсе ExecutorService
task
- задача подчинитьсяresult
- результат возвратитьсяRejectedExecutionException
- если задача не может быть запланирована для выполненияNullPointerException
- если задачей является нульpublic <T> Future<T> submit(Callable<T> task)
ExecutorService
Если требуется сразу блокировать ожидание задачи, можно использовать конструкции формы result = exec.submit(aCallable).get();
Отметьте: Executors
класс включает ряд методов, которые могут преобразовать некоторые другие общие подобные закрытию объекты, например, PrivilegedAction
к Callable
сформируйтесь, таким образом, они могут быть представлены.
submit
в интерфейсе ExecutorService
task
- задача подчинитьсяRejectedExecutionException
- если задача не может быть запланирована для выполненияNullPointerException
- если задачей является нульpublic <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException
ExecutorService
invokeAny
в интерфейсе ExecutorService
tasks
- набор задачInterruptedException
- если прервано, ожидаяExecutionException
- если никакая задача успешно не завершаетсяpublic <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
ExecutorService
invokeAny
в интерфейсе ExecutorService
tasks
- набор задачtimeout
- максимальное время, чтобы ожидатьunit
- единица измерения времени параметра тайм-аутаInterruptedException
- если прервано, ожидаяExecutionException
- если никакая задача успешно не завершаетсяTimeoutException
- если данный тайм-аут протекает прежде, чем любая задача успешно завершаетсяpublic <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException
ExecutorService
Future.isDone()
true для каждого элемента возвращенного списка. Отметьте, что завершенная задача, возможно, завершилась или обычно или выдавая исключение. Результаты этого метода неопределены, если данный набор изменяется, в то время как эта работа происходит.invokeAll
в интерфейсе ExecutorService
tasks
- набор задачInterruptedException
- если прервано, ожидая, когда отменяются незаконченные задачи.public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException
ExecutorService
Future.isDone()
true для каждого элемента возвращенного списка. По возврату отменяются задачи, которые не завершились. Отметьте, что завершенная задача, возможно, завершилась или обычно или выдавая исключение. Результаты этого метода неопределены, если данный набор изменяется, в то время как эта работа происходит.invokeAll
в интерфейсе ExecutorService
tasks
- набор задачtimeout
- максимальное время, чтобы ожидатьunit
- единица измерения времени параметра тайм-аутаInterruptedException
- если прервано, ожидая, когда отменяются незаконченные задачи
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.