Spec-Zone.ru › OpenJDK 27

Class InheritableThreadLocal<T>

java.lang.Object
java.lang.ThreadLocal<T>
java.lang.InheritableThreadLocal<T>
Параметры типа:
T — тип значения наследуемой локальной переменной потока
public class InheritableThreadLocal<T> extends ThreadLocal<T>
Этот класс расширяет ThreadLocal, обеспечивая наследование значений от родительского потока дочернему: при создании дочернего потока он получает начальные значения всех наследуемых локальных переменных потока, для которых заданы значения в родительском потоке. Обычно значения дочернего потока совпадают со значениями родительского; однако значение дочернего потока может быть произвольной функцией от значения родительского, если переопределить метод childValue в этом классе.

Наследуемые локальные переменные потока используются вместо обычных локальных переменных потока, когда атрибут, поддерживаемый отдельно для каждого потока (например, идентификатор пользователя или идентификатор транзакции), должен автоматически передаваться всем создаваемым дочерним потокам.

Примечание. При создании нового thread можно отказаться от получения начальных значений наследуемых локальных переменных потока.

Начиная с версии:
1.2
См. также:
  • ThreadLocal
  • Thread.Builder.inheritInheritableThreadLocals(boolean)

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

Конструктор Описание
InheritableThreadLocal()
Создаёт наследуемую локальную переменную потока.

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

Модификатор и тип Метод Описание
protected T childValue(T parentValue)
Вычисляет начальное значение этой наследуемой локальной переменной потока для дочернего потока как функцию от значения родительского потока на момент создания дочернего потока.

Методы, объявленные в классе ThreadLocal

get, initialValue, remove, set, withInitial
Модификатор и тип Метод Описание
T get()
Возвращает значение в копии этой локальной переменной потока для текущего потока.
protected T initialValue()
Возвращает «начальное значение» этой локальной переменной потока для текущего потока.
void remove()
Удаляет значение этой локальной переменной потока для текущего потока.
void set(T value)
Устанавливает для копии этой локальной переменной потока в текущем потоке указанное значение.
static <S> ThreadLocal<S> withInitial(Supplier<? extends S> supplier)
Создаёт локальную переменную потока.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного времени.

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

InheritableThreadLocal

public InheritableThreadLocal()
Создаёт наследуемую локальную переменную потока.

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

childValue

protected T childValue(T parentValue)
Вычисляет начальное значение этой наследуемой локальной переменной потока для дочернего потока как функцию от значения родительского потока на момент создания дочернего потока. Этот метод вызывается в родительском потоке до запуска дочернего.

Этот метод просто возвращает переданный ему аргумент; если требуется другое поведение, его следует переопределить.

Параметры:
parentValue — значение родительского потока
Возвращает:
начальное значение дочернего потока

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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