阅读(4492) (6)

鸿蒙OS InheritableThreadLocal

2022-04-28 15:51:22 更新

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 父线程的值

返回:

子线程的初始值