模块  java.base
软件包  java.lang

Class InheritableThreadLocal<T>


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

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

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

    从以下版本开始:
    1.2
    另请参见:
    ThreadLocal
    • 构造方法详细信息

      • InheritableThreadLocal

        public InheritableThreadLocal()
    • 方法详细信息

      • childValue

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

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

        参数
        parentValue - 父线程的值
        结果
        the child thread's initial value