【发布时间】:2013-05-07 07:46:17
【问题描述】:
我正在使用InheritableThreadLocal,我知道在创建子线程时ThreadLocal 将具有与父线程值相同的默认值。但是,当父级的 ThreadLocal 值被修改时,我该如何维护呢?
有没有办法在修改父级的ThreadLocal 时,他的所有子线程都收到该修改?
编辑:我的父线程中有一个布尔值设置为 false。但是我有一个条件,当这种情况发生时,我将布尔值设置为 true,我还需要对我的初始线程产生的所有子线程执行此操作。
【问题讨论】:
-
你能在这里发布一些代码吗?我不知道你想达到什么目的。
-
可继承的ThreadLocal是什么意思?每个线程都有自己对 ThreadLocal 对象中的变量的引用。线程是否从另一个线程产生并不重要。 “子”线程不继承 ThreadLocal 变量。
-
我使用的是
InheritableThreadLocal,这样子线程会继承父线程的值。
标签: java multithreading thread-local