Класс InheritableThreadLocal<T>
- java.lang.Object
-
- java.lang.ThreadLocal<T>
-
- java.lang.InheritableThreadLocal<T>
public class InheritableThreadLocal<T> extends ThreadLocal<T>
Этот класс расширяет ThreadLocal для обеспечения наследования значений от родительского потока к дочернему потоку: при создании дочернего потока дочерний поток получает начальные значения для всех переменных inheritable thread-local, для которых родительский поток имеет значения. Обычно значения дочернего потока будут идентичны значениям родительского потока; однако, значение дочернего потока может быть произвольной функцией значения родительского потока путём переопределения метода childValue в этом классе.
Переменные inheritable thread-local используются вместо обычных переменных thread-local в тех случаях, когда атрибут на основе потока (например, идентификатор пользователя, идентификатор транзакции), поддерживаемый в переменной, должен автоматически передаваться любым дочерним потокам, которые создаются.
Примечание: во время создания нового thread, можно отказаться от получения начальных значений для inheritable thread-local переменных.
- Since:
- 1.2
- See Also:
ThreadLocal
Конструкторы
| Конструктор | Описание |
|---|---|
InheritableThreadLocal() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected T | childValue(T parentValue) | Вычисляет начальное значение дочернего потока для этой inheritable thread-local переменной как функцию значения родительского потока в момент создания дочернего потока. |
Методы, объявленные в классе java.lang.ThreadLocal
get, initialValue, remove, set, withInitialМетоды, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
InheritableThreadLocal
public InheritableThreadLocal()
Методы
childValue
protected T childValue(T parentValue)
Вычисляет начальное значение дочернего потока для этой inheritable thread-local переменной как функцию значения родительского потока в момент создания дочернего потока. Этот метод вызывается из родительского потока до запуска дочернего потока.
Этот метод просто возвращает свой входной аргумент и должен быть переопределён, если требуется другое поведение.
- Parameters:
parentValue- значение родительского потока- Returns:
- начальное значение дочернего потока
© 1993, 2020, 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/11/docs/api/java.base/java/lang/InheritableThreadLocal.html