public class InheritableThreadLocal
extends ThreadLocal<T>
java.lang.Object | ||
↳ | java.lang.ThreadLocal<T> | |
↳ | java.lang.InheritableThreadLocal<T> |
此类继承ThreadLocal以提供从父线程到子线程的值的继承:当创建子线程时,子接收父进程具有值的所有可继承线程局部变量的初始值。 通常孩子的价值观与父母的价值观是一致的。 然而,通过重写此类中的方法childValue,可以将孩子的价值作为父母的任意函数。
当变量中维护的per-thread-attribute(例如,User ID,Transaction ID)必须自动传输到创建的任何子线程时,可继承的线程局部变量优先于普通线程局部变量。
也可以看看:
Public constructors |
|
---|---|
InheritableThreadLocal() |
Protected methods |
|
---|---|
T |
childValue(T parentValue) 计算此可继承线程局部变量的子对象的初始值,作为创建子线程时父对象的值的函数。 |
Inherited methods |
|
---|---|
From class java.lang.ThreadLocal
|
|
From class java.lang.Object
|
T childValue (T parentValue)
计算此可继承线程局部变量的子对象的初始值,作为创建子线程时父对象的值的函数。 在子进程启动之前,在父线程中调用此方法。
此方法仅返回其输入参数,并且如果需要不同的行为,则应该重写。
Parameters | |
---|---|
parentValue |
T : the parent thread's value |
Returns | |
---|---|
T |
the child thread's initial value |