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