InheritableThreadLocal
java.lang.Object
|—java.lang.ThreadLocal<T&
|—|—java.lang.InheritableThreadLocal<T&
public class InheritableThreadLocal<T>
extends ThreadLocal<T>
此类扩展 ThreadLocal 以提供从父线程到子线程的值继承:当创建子线程时,子线程接收父线程具有值的所有可继承线程局部变量的初始值。 通常,孩子的价值观与父母的价值观相同; 但是,通过覆盖此类中的 childValue 方法,可以使子项的值成为父项的任意函数。
当在变量中维护的每个线程属性(例如,用户 ID、事务 ID)必须自动传输到创建的任何子线程时,可继承的线程局部变量优先于普通线程局部变量使用。
构造函数摘要
构造函数 | 描述 |
---|---|
InheritableThreadLocal() |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
protected T | childValue(T parentValue) | 计算此可继承线程局部变量的子项初始值,作为创建子线程时父项值的函数。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从类 java.lang.ThreadLocal 继承的方法 |
---|
get, initialValue, remove, set, withInitial |
构造函数详细信息
InheritableThreadLocal
public InheritableThreadLocal()
方法详情
childValue
protected T childValue(T parentValue)
计算此可继承线程局部变量的子项初始值,作为创建子线程时父项值的函数。 在启动子线程之前,从父线程中调用此方法。
此方法仅返回其输入参数,如果需要不同的行为,则应覆盖该方法。
参数:
参数名称 | 参数描述 |
---|---|
parentValue | 父线程的值 |
返回:
子线程的初始值