Java多线程与并发之ThreadLocal( 五 )
3.2 get()源码分析
public T get() { //获取当前线程 Thread t = Thread.currentThread(); //获取当前线程的ThreadLocalMap ThreadLocalMap map = getMap(t); if (map != null) { //如果ThreadLocalMap已经被创建了 , 那么通过当前的threadLocal对象作为key , 获取value ThreadLocalMap.Entry e = map.getEntry(this); if (e != null) { @SuppressWarnings(\"unchecked\") T result = (T)e.value; return result; //如果ThreadLocalMap还没有被创建或者在ThreadLocalMap中查找不到此元素 return setInitialValue();
推荐阅读
- 辉月|王者:复活甲被动触发之后,是换名刀,还是换辉月?你觉得呢?
- 我的世界|我的世界: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附答案