Класс AbstractExecutorService

Все реализованные интерфейсы:
Executor, ExecutorService
Непосредственные известные подклассы:
ForkJoinPool, ThreadPoolExecutor
public abstract class AbstractExecutorService
extends Object
implements ExecutorService

Предоставляет стандартные реализации методов выполнения для ExecutorService. Этот класс реализует методы submit, invokeAny и invokeAll с использованием 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.
 }
С момента:
1.5

Конструкторы

КонструкторОписание
AbstractExecutorService()

Методы

Модификатор и типМетодОписание
protected <T> RunnableFuture<T>newTaskFor​(Runnable runnable, T value)

Возвращает RunnableFuture для данного runnable и значения по умолчанию.

protected <T> RunnableFuture<T>newTaskFor​(Callable<T> callable)

Возвращает RunnableFuture для данной задачи callable.

Future<?>submit​(Runnable task)

Отправляет задачу Runnable на выполнение и возвращает Future, представляющую эту задачу.

<T> Future<T>submit​(Runnable task, T result)

Отправляет задачу Runnable на выполнение и возвращает Future, представляющую эту задачу.

<T> Future<T>submit​(Callable<T> task)

Отправляет задачу, возвращающую значение, на выполнение и возвращает Future, представляющее ожидаемые результаты задачи.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе java.util.concurrent.Executor

execute

Методы, объявленные в интерфейсе java.util.concurrent.ExecutorService

awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated, shutdown, shutdownNow

Конструкторы

AbstractExecutorService

public AbstractExecutorService()

Методы

newTaskFor

protected <T> RunnableFuture<T> newTaskFor(Runnable runnable,
                                           T value)

Возвращает RunnableFuture для данного runnable и значения по умолчанию.

Параметры типа:
T - тип данного значения
Параметры:
runnable - задача runnable, которая оборачивается
value - значение по умолчанию для возвращаемого future
Возвращает:
RunnableFuture, который, при выполнении, запустит исходный runnable, и который, как Future, вернёт данное значение в качестве результата и позволит отменить исходную задачу
С момента:
1.6

newTaskFor

protected <T> RunnableFuture<T> newTaskFor(Callable<T> callable)

Возвращает RunnableFuture для данной задачи callable.

Параметры типа:
T - тип результата callable
Параметры:
callable - задача callable, которая оборачивается
Возвращает:
RunnableFuture, который, при выполнении, вызовет исходный callable, и который, как Future, вернёт результат callable в качестве результата и позволит отменить исходную задачу
С момента:
1.6

submit

public Future<?> submit(Runnable task)

Описание скопировано из интерфейса: ExecutorService

Отправляет задачу Runnable на выполнение и возвращает Future, представляющую эту задачу. Метод get Future вернёт значение null при успешном завершении.

Определено в:
submit в интерфейсе ExecutorService
Параметры:
task - задача для отправки
Возвращает:
Future, представляющее ожидаемое завершение задачи
Исключения:
RejectedExecutionException - если задача не может быть запланирована для выполнения
NullPointerException - если задача null

submit

public <T> Future<T> submit(Runnable task,
                            T result)

Описание скопировано из интерфейса: ExecutorService

Отправляет задачу Runnable на выполнение и возвращает Future, представляющую эту задачу. Метод get Future вернёт заданное значение при успешном завершении.

Определено в:
submit в интерфейсе ExecutorService
Параметры типа:
T - тип результата
Параметры:
task - задача для отправки
result - результат для возврата
Возвращает:
Future, представляющее ожидаемое завершение задачи
Исключения:
RejectedExecutionException - если задача не может быть запланирована для выполнения
NullPointerException - если задача null

submit

public <T> Future<T> submit(Callable<T> task)

Описание скопировано из интерфейса: ExecutorService

Отправляет задачу, возвращающую значение, на выполнение и возвращает Future, представляющее ожидаемые результаты задачи. Метод get Future вернёт результат задачи при успешном завершении.

Если необходимо немедленно заблокировать ожидание задачи, можно использовать конструкции вида result = exec.submit(aCallable).get();

Примечание: класс Executors содержит набор методов, которые могут преобразовать некоторые другие распространённые объекты типа замыканий, например, PrivilegedAction в форму Callable, чтобы они могли быть отправлены.

Определено в:
submit в интерфейсе ExecutorService
Параметры типа:
T - тип результата задачи
Параметры:
task - задача для отправки
Возвращает:
Future, представляющее ожидаемое завершение задачи
Исключения:
RejectedExecutionException - если задача не может быть запланирована для выполнения
NullPointerException - если задача null

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/AbstractExecutorService.html

Spec-Zone .ru
спецификации, руководства, описания, API