描述 | 用途 | |
---|---|---|
ThreadLocal | 线程本地变量 | 线程本地存储 |
InheritableThreadLocal | 可继承的线程本地变量 | 线程本地存储、线程间共享 |
TransmittableThreadLocal (阿里开源的,需要导包) | 可传递的线程本地变量 | 线程本地存储、线程间共享、线程池共享 |
注:其存储功能体现在Thread,ThreadLocal只能操作本地数据,底层是通过ThreadLocalMap实现的,而ThreadLocalMap类通过key为ThreadLocal类型,value为Object类型的数组存储数据,其key是弱引用的,所以结束使用要remove()删除线程中使用的变量副本。
并且ThreadLocal是线程私有的。