子线程是否在Java中继承父级的ThreadScope?

Tra*_*ebb 3 java multithreading

在Java中,我有一个Thread A.如果A生成子线程,b是否b可以访问ThreadLocalA?设置的任何/所有变量?

Rog*_*sjö 6

如果您的意思是InheritableThreadLocal(扩展ThreadLocal),那么是的,每个子线程的初始默认值将与父线程值相同.但子线程的任何更改都将由子项本地更改.

InheritableThreadLocal doc

  • 对象的引用对于孩子来说是本地的.如果子项在ThreadLocal中存储另一个对象,那么这将不会反映在父项中.但是,如果子项修改了ThreadLocal引用的对象,那么它将反映在父项中.基本上,子项获取线程局部变量的副本,但映射引用与父项相同的值. (2认同)