zhanggao / learnNotes

2 stars 2 forks source link

ThreadLocal #4

Open zhanggao opened 4 years ago

zhanggao commented 4 years ago

Thread 内部有一个成员变量map,map的key是ThreadLocal对象,value是用户存进去的值。

key用的是弱引用,value是强引用。

map的实现和HashMap有比较大的区别,ThreadLocalMap内部有个table数组,put时如果hash冲突会放到table数组的下一个位置;get时根据hash找到table数组位置,如果对应位置不是当前get的key则顺着数组往下找。容量超过3/4也会扩容。