-
子线程如何获取父线程ThreadLocal的值
最近微信群里一个网友分享了他京东一面的过程,我这里分享给大家其中一道面试题。
京东一面」子线程如何获取父线程ThreadLocal的值
子线程如何获取父线程ThreadLocal的值
想要子线程获取父线程中 ThreadLocal 中的值,需要其子类 InheritableThreadLocal 实现。
测试代码如下:
public static void main(String[] args) throws InterruptedException { Thread parentParent = new Thread(() -> { ThreadLocal<Integer> threadLocal = new ThreadLocal<>(); threadLocal.set(1); InheritableThreadLocal<Integer> inheritableThreadLocal = new InheritableThreadLocal<>(); inheritableThreadLocal.set(2); new Thread(() -> { System.out.pri