Класс StructuredTaskScope.ShutdownOnFailure
- Все реализуемые интерфейсы:
AutoCloseable
- Вложенный класс:
StructuredTaskScopePREVIEW<T>
public static final class StructuredTaskScope.ShutdownOnFailure extends StructuredTaskScopePREVIEW<Object>
ShutdownOnFailure — это предварительный API платформы Java. Если не указано иное, передача null аргумента методу в этом классе приведёт к выбрасыванию исключения NullPointerException.
- Примечание API:
- Этот класс реализует политику остановки области задач при ошибке подзадачи. Прямой вызов метода
shutdownПРЕВЫДЕЛЕНИЕ для остановки области задач не требуется. - С:
- 21
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.util.concurrent.StructuredTaskScopeПРЕВЫДЕЛЕНИЕ
StructuredTaskScope.ShutdownOnFailurePREVIEW, StructuredTaskScope.ShutdownOnSuccessPREVIEW<T>, StructuredTaskScope.SubtaskPREVIEW<T>
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ShutdownOnFailure() |
Создаёт новую безымянную ShutdownOnFailure для создания виртуальных потоков. |
ShutdownOnFailure |
Создаёт новую ShutdownOnFailure с заданным именем и фабрикой потоков. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Optional |
exception() |
Возвращает исключение первой подзадачи, которая завершилась с ошибкой.failedПРЕВЫДЕЛЕНИЕ. |
StructuredTaskScope.ShutdownOnFailurePREVIEW |
join() |
Ожидание завершения всех подзадач, запущенных в этой области задач, или завершения подзадачи с ошибкой.failПРЕВЫДЕЛЕНИЕ. |
StructuredTaskScope.ShutdownOnFailurePREVIEW |
joinUntil |
Ожидание завершения всех подзадач, запущенных в этой области задач, или завершения подзадачи с ошибкой.failПРЕВЫДЕЛЕНИЕ до указанного крайнего срока. |
void |
throwIfFailed() |
Выбрасывает исключение, если подзадача завершилась с ошибкой.failedПРЕВЫДЕЛЕНИЕ. |
<X extends Throwable> |
throwIfFailed |
Выбрасывает исключение, сгенерированное заданной функцией, если подзадача завершилась с ошибкой.failedПРЕВЫДЕЛЕНИЕ. |
Методы, объявленные в классе java.util.concurrent.StructuredTaskScopeПРЕВЫДЕЛЕНИЕ
close, ensureOwnerAndJoined, fork, handleComplete, isShutdown, shutdown
Подробное описание конструкторов
ShutdownOnFailure
public ShutdownOnFailure(String name, ThreadFactory factory)
ShutdownOnFailure с заданным именем и фабрикой потоков. Область задач необязательно имеет имя для целей мониторинга и управления. Фабрика потоков используется для create потоков, когда подзадачи разделяютсяПРЕВЫШЕНИЕ. Область задач принадлежит текущему потоку. Создание фиксирует текущие привязки значений областей значенийПРЕВЫШЕНИЕ потока для наследования потоками, запущенными в области задач. Раздел «Структура дерева» в описании класса подробно описывает, как устанавливаются родительско-дочерние отношения неявно для целей наследования привязок значений области.
- Параметры:
-
name- имя области задач, может быть null -
factory- фабрика потоков
ShutdownOnFailure
public ShutdownOnFailure()
ShutdownOnFailure , который создаёт виртуальные потоки.- Требования к реализации:
- Этот конструктор эквивалентен вызову конструктора с 2-мя аргументами с именем
nullи фабрикой потоков, которая создаёт виртуальные потоки.
Подробное описание методов
join
public StructuredTaskScope.ShutdownOnFailurePREVIEW join() throws InterruptedException
Этот метод ожидает завершения всех подзадач, ожидая завершения всех потоков запущенныхПРЕВЫШЕНИЕ в этой области задач. Ожидание прекращается, когда все потоки завершатся, подзадача завершится неудачно, или текущий поток прерывается. Ожидание также прекращается, если метод shutdownПРЕВЫШЕНИЕ вызывается непосредственно для завершения работы этой области задач.
Этот метод может быть вызван только владельцем области задач.
- Переопределяет:
-
joinв классеStructuredTaskScopePREVIEW<Object> - Возвращает:
- эту область задач
- Используемые исключения:
-
IllegalStateException- если эта область задач закрыта -
WrongThreadException- если текущий поток не является владельцем области задач -
InterruptedException- если прервано ожидание во время ожидания
joinUntil
public StructuredTaskScope.ShutdownOnFailurePREVIEW joinUntil(Instant deadline) throws InterruptedException, TimeoutException
Этот метод ожидает завершения всех подзадач, ожидая завершения всех потоков запущенныхПРЕВЫШЕНИЕ в этой области задач. Ожидание прекращается, когда все потоки завершатся, подзадача завершится неудачно, крайний срок наступит, или текущий поток прервётся. Ожидание также прекращается, если метод shutdownПРЕВЫШЕНИЕ вызывается непосредственно для завершения работы этой области задач.
Этот метод может быть вызван только владельцем области задач.
- Переопределяет:
-
joinUntilв классеStructuredTaskScopePREVIEW<Object> - Параметры:
-
deadline- крайний срок - Возвращает:
- эту область задач
- Используемые исключения:
-
IllegalStateException- если эта область задач закрыта -
WrongThreadException- если текущий поток не является владельцем области задач -
InterruptedException- если прервано ожидание во время ожидания -
TimeoutException- если крайний срок наступил во время ожидания
exception
public Optional<Throwable> exception()
Optional.- Возвращает:
- исключение для первой подзадачи, завершившейся неудачно, или пустой необязательный параметр, если подзадачи не завершились неудачно
- Используемые исключения:
-
WrongThreadException- если текущий поток не является владельцем области задач -
IllegalStateException- если владелец области задач не присоединился после разделения
throwIfFailed
public void throwIfFailed() throws ExecutionException
ExecutionException выбрасывается с исключением первой подзадачи, которая завершилась неудачно, в качестве причины.причины. Этот метод ничего не делает, если подзадачи не завершились неудачно.- Используемые исключения:
-
ExecutionException- если подзадача завершилась неудачно -
WrongThreadException- если текущий поток не является владельцем области задач -
IllegalStateException- если владелец области задач не присоединился после разделения
throwIfFailed
public <X extends Throwable> void throwIfFailed(Function<Throwable,? extends X> esf) throws X
- Параметры типа:
-
X- тип исключения, которое будет выброшено - Параметры:
-
esf- функция, предоставляющая исключение - Используемые исключения:
-
X- создано функцией, предоставляющей исключение -
WrongThreadException- если текущий поток не является владельцем области задач -
IllegalStateException- если владелец области задач не присоединился после разделения
© 1993, 2023, 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/21/docs/api/java.base/java/util/concurrent/StructuredTaskScope.ShutdownOnFailure.html
ShutdownOnFailureтолько при включённых предварительных функциях.