Spec-Zone.ru › OpenJDK 25

Интерфейс Thread.Builder

Все известные подинтерфейсы:
Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
Внешний класс:
Thread
public static sealed interface Thread.Builder permits Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
Построитель объектов Thread и ThreadFactory.

Builder определяет методы для задания свойств Thread, таких как name потока. Сюда входят свойства, которые в противном случае наследовались бы. После задания свойств Thread или ThreadFactory создаётся с помощью следующих методов:

  • Метод unstarted создаёт новый незапущенный Thread для выполнения задачи. Чтобы запланировать выполнение потока, необходимо вызвать метод start объекта Thread.
  • Метод start создаёт новый Thread для выполнения задачи и планирует выполнение потока.
  • Метод factory создаёт ThreadFactory.

Thread.Builder не является потокобезопасным. Объект ThreadFactory, возвращаемый методом factory() построителя, является потокобезопасным.

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

С момента выпуска:
21
См. также:
  • Thread.ofPlatform()
  • Thread.ofVirtual()

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

Модификатор и тип Интерфейс Описание
static interface  Thread.Builder.OfPlatform
Построитель для создания платформенного Thread или ThreadFactory, создающего платформенные потоки.
static interface  Thread.Builder.OfVirtual
Построитель для создания виртуального Thread или ThreadFactory, создающего виртуальные потоки.

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

Модификатор и тип Метод Описание
ThreadFactory factory()
Возвращает ThreadFactory для создания потоков на основе текущего состояния построителя.
Thread.Builder inheritInheritableThreadLocals(boolean inherit)
Задаёт, наследует ли поток начальные значения переменных InheritableThreadLocal от создающего его потока.
Thread.Builder name(String name)
Задаёт имя потока.
Thread.Builder name(String prefix, long start)
Задаёт имя потока как конкатенацию строкового префикса и строкового представления значения счётчика.
Thread start(Runnable task)
Создаёт новый Thread на основе текущего состояния построителя и планирует его выполнение.
Thread.Builder uncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
Задаёт обработчик неперехваченных исключений.
Thread unstarted(Runnable task)
Создаёт новый Thread на основе текущего состояния построителя для выполнения указанной задачи.

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

name

Thread.Builder name(String name)
Задаёт имя потока.
Параметры:
name — имя потока
Возвращает:
этот построитель

name

Thread.Builder name(String prefix, long start)
Задаёт имя потока как конкатенацию строкового префикса и строкового представления значения счётчика. Начальное значение счётчика — start. Оно увеличивается после создания Thread с помощью этого построителя, чтобы следующий поток получил имя с новым значением счётчика. ThreadFactory, созданный с помощью этого построителя, инициализируется текущим значением счётчика. ThreadFactory увеличивает свою копию счётчика после вызова newThread для создания Thread.
Примечание API:
В следующем примере создаётся построитель, который вызывается дважды для запуска двух потоков с именами «worker-0» и «worker-1».
  Thread.Builder builder = Thread.ofPlatform().name("worker-", 0);
  Thread t1 = builder.start(task1);   // name "worker-0"
  Thread t2 = builder.start(task2);   // name "worker-1"
Параметры:
prefix — префикс имени потока
start — начальное значение счётчика
Возвращает:
этот построитель
Выбрасывает:
IllegalArgumentException — если начальное значение отрицательно

inheritInheritableThreadLocals

Thread.Builder inheritInheritableThreadLocals(boolean inherit)
Задаёт, наследует ли поток начальные значения переменных InheritableThreadLocal от создающего его потока. По умолчанию значения наследуются.
Параметры:
inherit — true, чтобы наследовать, false, чтобы не наследовать
Возвращает:
этот построитель

uncaughtExceptionHandler

Thread.Builder uncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
Задаёт обработчик неперехваченных исключений.
Параметры:
ueh — обработчик неперехваченных исключений
Возвращает:
этот построитель

unstarted

Thread unstarted(Runnable task)
Создаёт новый Thread на основе текущего состояния построителя для выполнения указанной задачи. Чтобы запланировать выполнение потока, необходимо вызвать метод start объекта Thread.
Параметры:
task — объект, который будет запущен при выполнении потока
Возвращает:
новый незапущенный Thread
См. также:
  • Наследование при создании потоков

start

Thread start(Runnable task)
Создаёт новый Thread на основе текущего состояния построителя и планирует его выполнение.
Параметры:
task — объект, который будет запущен при выполнении потока
Возвращает:
новый запущенный Thread
См. также:
  • Наследование при создании потоков

factory

ThreadFactory factory()
Возвращает ThreadFactory для создания потоков на основе текущего состояния построителя. Возвращённая фабрика потоков безопасна для использования несколькими параллельно работающими потоками.
Возвращает:
фабрика потоков для создания потоков

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/lang/Thread.Builder.html

Spec-Zone.ru

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