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 | Модификатор и тип | Метод | Описание |
|---|---|---|
T |
get() |
Возвращает значение в копии этой локальной переменной потока для текущего потока. |
protected T |
initialValue() |
Возвращает «начальное значение» этой локальной переменной потока для текущего потока. |
void |
remove() |
Удаляет значение этой локальной переменной потока для текущего потока. |
void |
set |
Устанавливает для копии этой локальной переменной потока в текущем потоке указанное значение. |
static <S> ThreadLocal |
withInitial |
Создаёт локальную переменную потока. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного времени. |
Подробное описание конструкторов
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.