ThreadLocal是用来记录线程私有数据的实体(注意:如果用的是线程池,由于线程是复用的,所以,在一个线程执行完之后需要将私有数据移除。)
ThreadLocal源码解读:
1.Thread类中有个属性:ThreadLocal.ThreadLocalMap threadLocals = null;,它是用来存储线程私有数据
2.该属性实例化由:ThreadLocal.createMap(Thread t, T firstValue);完成
3.调用createMap方法是 ThreadLocal.set()和Thread.setInitialValue();完成