InheritableThreadLocal 是可以父子线程数据传递
InheritableThreadLocal 是将变量存放在线程的inheritableThreadLocal变量中
public class ThreadLocalTest {
static InheritableThreadLocal inheritableThreadLocal=new InheritableThreadLocal();
static ThreadLocal<String> threadLocal=new ThreadLocal<>();
public static void main(String[] args) {
// 使用InheritableThreadLocal 进行设置
inheritableThreadLocal.set("123");
new Thread((()->{
System.out.println(Thread.currentThread().getName()+"--"+inheritableThreadLocal.get());
})).start();
System.out.println(Thread.currentThread().getName()+"--"+inheritableThreadLocal.get());
// 使用ThreadLocal 进行设置
threadLocal.set("hello world");
new Thread(() -> {
System.out.println(Thread.currentThread().getName()+"-" + threadLocal.get());
}).start();
System.out.println(Thread.currentThread().getName()+"-"+threadLocal.get());
}
}