Class InheritableThreadLocal<T>
- Параметры типа:
T— тип значения унаследуемой локальной переменной потока
public class InheritableThreadLocal<T> extends ThreadLocal<T>
ThreadLocal, обеспечивая наследование значений от родительского потока дочерним: при создании дочернего потока он получает начальные значения всех унаследуемых локальных переменных потока, для которых у родительского потока есть значения. Обычно значения дочернего потока идентичны значениям родительского; однако значение дочернего потока можно сделать произвольной функцией значения родительского потока, переопределив метод childValue в этом классе. Унаследуемые локальные переменные потока предпочитают обычным локальным переменным потока, когда атрибут, поддерживаемый для каждого потока в переменной (например, идентификатор пользователя, идентификатор транзакции), необходимо автоматически передавать всем создаваемым дочерним потокам.
Примечание: при создании нового thread можно отказаться от получения начальных значений унаследуемых локальных переменных потока.
- С версии:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
InheritableThreadLocal() |
Создает унаследуемую локальную переменную потока. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected T |
childValue |
Вычисляет начальное значение этой унаследуемой локальной переменной потока для дочернего потока как функцию значения родительского потока на момент создания дочернего потока. |
Методы, объявленные в классе ThreadLocal
get, initialValue, remove, set, withInitial
Подробное описание конструкторов
InheritableThreadLocal
public InheritableThreadLocal()
Подробное описание методов
childValue
protected T childValue(T parentValue)
Этот метод просто возвращает переданный ему аргумент; если требуется другое поведение, его следует переопределить.
- Параметры:
-
parentValue— значение родительского потока - Возвращает:
- начальное значение дочернего потока
© 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/InheritableThreadLocal.html