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