Похоже, это плохой вариант использования для "наследуемой" разновидности локальных потоков.
Мой совет - просто использовать обычный TheadLocal
и выполнить инициализацию явно;например, передача начального значения из родительского потока в дочерний поток в качестве параметра или чего-то подобного.
(я собирался предложить вам принудительно инициализировать локальный для потока дочерний поток, заставив его получить значение как можно скореекак это начинается. Но это рискует состязанием, например, если родительский поток возвращается в пул до того, как дочерний поток начинает выполняться.)
Я предполагаю, что еслиесть способ получить доступ к значению локальной переменной потока родительского потока из дочернего потока.
Нет способа сделать это.
И, судя по вашемудругие комментарии, я сомневаюсь, что вы имеете в виду «родитель» и «ребенок» в обычном смысле ... где родительский поток создает дочерний поток.
Но вот идея.Вместо того, чтобы пытаться разделить переменную между потоками, поделитесь фиксированным значением (например, идентификатором запроса) и используйте его в качестве ключа для общего Map
.Используйте записи Map
в качестве общих переменных.