模块 java.base
 java.lang

类 InheritableThreadLocal<T>

java.lang.Object
java.lang.ThreadLocal <T>
java.lang.InheritableThreadLocal<T>
类型参数:
T - 可继承线程本地值的类型

public class InheritableThreadLocal<T> extends ThreadLocal <T>
此类扩展 ThreadLocal 以提供从父线程到子线程的值继承:创建子线程时,子线程接收父线程具有值的所有可继承线程局部变量的初始值。通常,孩子的值观与父母的值观相同;但是,通过重写此类中的 childValue 方法,可以使子值成为父值的任意函数。

当在变量中维护的每线程属性(例如,用户 ID、事务 ID)必须自动传输到创建的任何子线程时,优先使用可继承线程局部变量而不是普通线程局部变量。

注意:在创建新的 thread 期间,可以选择退出接收可继承的线程局部变量的初始值。

自从:
1.2
参见:
  • 构造方法详细信息

    • InheritableThreadLocal

      public InheritableThreadLocal()
      创建一个可继承的线程局部变量。
  • 方法详情

    • childValue

      protected T  childValue(T  parentValue)
      在创建子线程时计算此可继承线程局部变量的子初始值作为父值的函数。在子线程启动之前,从父线程中调用此方法。

      此方法仅返回其输入参数,如果需要不同的行为,则应将其重写。

      参数:
      parentValue - 父线程的值
      返回:
      子线程的初始值