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