ThreadLocal源码小试

Posted coderwangxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThreadLocal源码小试相关的知识,希望对你有一定的参考价值。

前言

在这里主要分析下ThreadLocal类的结构,与set(),get(),remove()方法的源码

1.ThreadLocal类的结构

ThreadLocal是java.lang下面的类。

技术分享图片

这个类下面有几个静态内部类。比如:

技术分享图片

在ThreadLocalMap类下面还有一个静态内部类

技术分享图片

 在上图中可以看到这个Entry里面成员变量。还有继承了弱引用,关于弱引用下文会进行介绍。

 2.下面来看下get方法

技术分享图片

当调用上图的get()时,它首先会去调ThreadLocal类的成员方法get()

技术分享图片

不要着急,get()里面的方法会在下面一一道来。

技术分享图片

threadLocals是ThreadLocalMap的成员变量。

技术分享图片

下面的内容敬请期待.....

 

以上是关于ThreadLocal源码小试的主要内容,如果未能解决你的问题,请参考以下文章

类ThreadLocal的使用与源码分析

java进阶之路-java中的threadlocal源码实现

原创源码角度分析Android的消息机制系列——ThreadLocal的工作原理

Java ThreadLocal

Android ThreadLocal类浅析

深入浅出多线程编程实战ThreadLocal详解(内存泄漏)