ThreadLocal主要方法
- protected T initialValue():初始化
- 该方法会返回当前线程对应的“初始值”,这是一个延迟加载的方法,只有在调用get的时候才会触发
- 当线程第一次调用get方法访问变量时,调用此方法,如果线程先前调用了set方法,在这种请求下,不会为线程调用本initialValue方法
- 通常,每个线程最多调用一次此方法,但如果已经调用了remove()后,再调用get(),则可以再次调用此方法
- 如果不重写该方法,这个方法会返回null,一般使用匿名内部类的方法来重写initialValue()方法,以便在后续使用中可以初始化副本对象
- public void set(T value) :为这个线程设置一个新值
- public T get() :得到这个线程对应的value。如果是首次调用get(),则会调用initialValue()方法来得到这个值
- public void remove():删除对应线程的值