ThreadLocal
2019-08-15 09:57:02 17 举报
ThreadLocal
作者其他创作
大纲/内容
Entry是强引用,父类为弱引用
threadLocalsinheritableThreadLocals
Key: 当前ThreadLocal
set()
引用
initialValue
get()
getMap()
Entry[]
ThreadLocal实例的变量只有这个threadLocalHashCode,而且是final的,get和set时用来区分不同的ThreadLocal实例
内置
threadLocalHashCode
ThreadLocal
WeakReference<ThreadLocal<?>>
value: 绑定值
Thread
一个ThreadLocal只能存储一个Object对象,如果需要存储多个Object对象那么就需要多个ThreadLocal线程销毁后,Entry中ThreadLocal会被回收,value会被置为null,但Entry不会被回收,所以需要手动removeThreadLocal其实就是一个工具类,用来操作线程局部变量,ThreadLocal 实例通常是类中的 private static 字段每个Thread本身就包含了两个ThreadLocalMap对象的引用当调用某个ThreadLocal对象的get或put方法时,首先会从当前线程中取出ThreadLocalMap,然后查找对应的value
ThreadLocalMap
0 条评论
回复 删除
下一页