InheritableThreadLocal详解
简介
应用
public class Test {
public static void main(String[] args) {
InheritableThreadLocal<String> inheritableThreadLocal = new InheritableThreadLocal<>();
inheritableThreadLocal.set("haiji");
ThreadLocal<String> threadLocal = new ThreadLocal<>();
threadLocal.set("java有货");
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.execute(()->{
System.out.println("当前线程的名字:"+Thread.currentThread().getName());
System.out.println("从 threadLocal 内获取值:"+threadLocal.get());
System.out.println("从 inheritableThreadLocal 内获取值:"+inheritableThreadLocal.get());
});
}
}InheritableThreadLocal 的原理
4.1、用户创建Thread
4.2、Thread创建
4.3、Thread初始化
4.4、ThreadLocal.createInheritedMap
Last updated