Spec-Zone.ru › OpenJDK 21

Класс StructuredTaskScope.ShutdownOnFailure

java.lang.Object
java.util.concurrent.StructuredTaskScopeПРЕВЫДЕЛЕНИЕ<Object>
java.util.concurrent.StructuredTaskScope.ShutdownOnFailure
Все реализуемые интерфейсы:
AutoCloseable
Вложенный класс:
StructuredTaskScopePREVIEW<T>
public static final class StructuredTaskScope.ShutdownOnFailure extends StructuredTaskScopePREVIEW<Object>
ShutdownOnFailure — это предварительный API платформы Java.
Программы могут использовать ShutdownOnFailure только при включённых предварительных функциях.
Функции предварительного просмотра могут быть удалены в будущих выпусках или обновлены до постоянных функций платформы Java.
Политика, которая перехватывает исключение первого подзадачи, которая завершилась с ошибкой.failПРЕВЫДЕЛЕНИЕ. После перехвата она останавливаетПРЕВЫДЕЛЕНИЕ область задач, чтобы прервать незавершенные потоки и разбудить владельца области задач. Эта реализация предназначена для случаев, когда требуются результаты всех подзадач ("вызвать все"); если какая-либо подзадача завершается ошибкой, результаты других незавершенных подзадач больше не нужны.

Если не указано иное, передача null аргумента методу в этом классе приведёт к выбрасыванию исключения NullPointerException.

Примечание API:
Этот класс реализует политику остановки области задач при ошибке подзадачи. Прямой вызов метода shutdownПРЕВЫДЕЛЕНИЕ для остановки области задач не требуется.
С:
21

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.util.concurrent.StructuredTaskScopeПРЕВЫДЕЛЕНИЕ

StructuredTaskScope.ShutdownOnFailurePREVIEW, StructuredTaskScope.ShutdownOnSuccessPREVIEW<T>, StructuredTaskScope.SubtaskPREVIEW<T>

Краткое описание конструкторов

Конструктор Описание
ShutdownOnFailure()
Создаёт новую безымянную ShutdownOnFailure для создания виртуальных потоков.
ShutdownOnFailure(String name, ThreadFactory factory)
Создаёт новую ShutdownOnFailure с заданным именем и фабрикой потоков.

Краткое описание методов

Модификатор и тип Метод Описание
Optional<Throwable> exception()
Возвращает исключение первой подзадачи, которая завершилась с ошибкой.failedПРЕВЫДЕЛЕНИЕ.
StructuredTaskScope.ShutdownOnFailurePREVIEW join()
Ожидание завершения всех подзадач, запущенных в этой области задач, или завершения подзадачи с ошибкой.failПРЕВЫДЕЛЕНИЕ.
StructuredTaskScope.ShutdownOnFailurePREVIEW joinUntil(Instant deadline)
Ожидание завершения всех подзадач, запущенных в этой области задач, или завершения подзадачи с ошибкой.failПРЕВЫДЕЛЕНИЕ до указанного крайнего срока.
void throwIfFailed()
Выбрасывает исключение, если подзадача завершилась с ошибкой.failedПРЕВЫДЕЛЕНИЕ.
<X extends Throwable>
void
throwIfFailed(Function<Throwable,? extends X> esf)
Выбрасывает исключение, сгенерированное заданной функцией, если подзадача завершилась с ошибкой.failedПРЕВЫДЕЛЕНИЕ.

Методы, объявленные в классе java.util.concurrent.StructuredTaskScopeПРЕВЫДЕЛЕНИЕ

close, ensureOwnerAndJoined, fork, handleComplete, isShutdown, shutdown

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

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

Подробное описание конструкторов

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API