Spec-Zone.ru › OpenJDK 25

Интерфейс StructuredTaskScope.Subtask<T>

Параметры типа:
T - тип результата
Все суперинтерфейсы:
Supplier<T>
Внешний интерфейс:
StructuredTaskScopePREVIEW<T,R>
public static sealed interface StructuredTaskScope.Subtask<T> extends Supplier<T>
Subtask — предварительная версия API платформы Java.
Программы могут использовать Subtask только при включённых функциях предварительного просмотра.
Функции предварительного просмотра могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Представляет подзадачу, запущенную с помощью StructuredTaskScope.fork(Callable)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ или StructuredTaskScope.fork(Runnable)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ.

Код, запускающий подзадачи, может использовать метод get() после присоединенияПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, чтобы получить результат успешно завершившейся подзадачи. Чтобы получить исключение, выброшенное завершившейся с ошибкой подзадачей, можно использовать метод exception().

Начиная с:
21

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

Модификатор и тип Интерфейс Описание
static enum  StructuredTaskScope.Subtask.StatePREVIEW
Предварительная версия.
Представляет состояние подзадачи.

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

Модификатор и тип Метод Описание
Throwable exception()
Возвращает исключение или ошибку, выброшенные этой подзадачей, если она завершилась с ошибкой.
T get()
Возвращает результат этой подзадачи, если она завершилась успешно.
StructuredTaskScope.Subtask.StatePREVIEW state()
Возвращает состояние подзадачи.

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

state

StructuredTaskScope.Subtask.StatePREVIEW state()
Возвращает состояние подзадачи.
Возвращает:
состояние подзадачи

get

T get()
Возвращает результат этой подзадачи, если она завершилась успешно. Если подзадача была запущена с помощью fork(Callable)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, возвращается результат метода call. Если подзадача была запущена с помощью fork(Runnable)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, возвращается null.

Код, выполняющийся в потоке владельца области, может использовать этот метод для получения результата успешно завершившейся подзадачи только после присоединенияПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ.

Код, выполняющийся в методе Joiner onCompleteПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, должен проверить, что состояние подзадачи равно SUCCESSПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, прежде чем использовать этот метод для получения результата.

Указан в:
get в интерфейсе Supplier<T>
Возвращает:
возможно, null-результат
Выбрасывает:
IllegalStateException — если подзадача ещё не завершилась, завершилась неуспешно или текущий поток является потоком владельца области и вызывает этот метод до присоединенияПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ
См. также:
  • StructuredTaskScope.Subtask.State.SUCCESSПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ

exception

Throwable exception()
Возвращает исключение или ошибку, выброшенные этой подзадачей, если она завершилась с ошибкой. Если подзадача была запущена с помощью fork(Callable)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, возвращается исключение или ошибка, выброшенные методом call. Если подзадача была запущена с помощью fork(Runnable)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, возвращается исключение или ошибка, выброшенные методом run.

Код, выполняющийся в потоке владельца области, может использовать этот метод для получения исключения, выброшенного завершившейся с ошибкой подзадачей, только после присоединенияПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ.

Код, выполняющийся в методе Joiner onCompleteПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, должен проверить, что состояние подзадачи равно FAILEDПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, прежде чем использовать этот метод для получения исключения.

Возвращает:
исключение или ошибку, выброшенные этой подзадачей, если она завершилась с ошибкой
Выбрасывает:
IllegalStateException — если подзадача ещё не завершилась, завершилась с результатом или текущий поток является потоком владельца области и вызывает этот метод до присоединенияПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ
См. также:
  • StructuredTaskScope.Subtask.State.FAILEDПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/StructuredTaskScope.Subtask.html

Spec-Zone.ru

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