Java多线程与并发之ThreadLocal( 六 )
3.2.1 ThreadLocalMap没初始化
ThreadLocalMap没初始化 , ThreadLocalMap为null时 , 会调用setInitialValue()方法:
private T setInitialValue() { //initialValue方法一般会被重写 , 不重写的话 , 直接返回null T value = https://mparticle.uc.cn/api/initialValue(); Thread t = Thread.currentThread(); //获取当前线程的ThreadLocalMap ThreadLocalMap map = getMap(t); if (map != null) //ThreadLocalMap已经被创建 , 那么直接设置初始值(即保存变量副本) , 初始值来自initialValue方法 map.set(this value); else //创建ThreadLocalMap createMap(t value); return value;
推荐阅读
- 辉月|王者:复活甲被动触发之后,是换名刀,还是换辉月?你觉得呢?
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- fate grand order|FGO:FA复刻强化本介绍,大公踏出了连发之路的第一步
- Java|Java 地位不保,落后已成定局 ?| 10月编程语言排行
- Java|Lombok 简单方便,为什么有些公司不让用?
- 酷睿处理器|全线冲击超线程!十代i3一出,9100F王朝真的要结束了吗
- Java|面试官:开口要25K,我就用了2成功力,把你问到怀疑人生(Java)
- 在家里睡觉、刷剧,不如看看这些份Java面试宝典,跳槽面试不心慌!
- 工作10年,面试超过300人想进阿里的同学,总结出的java面试69题
- BAT面试题汇总:分布式+Dubbo +JVM+微服务+多线程+Spring附答案