ThreadLocal
可以为每一个线程提供一个存储数据的空间。
其内部封装了一个Map
集合,这个Map
集合泛型是Map<Thread,Object>
键值。
ThreadLocal
有两个方法:
-
get()
:从类内部的Map中获取值,而且它是当前线程对象作为键,从map中取值。
内部源码:
map.get(Thread.currentThread());
-
setObject(Object obj)
:设置值,保存到类内部的map集合中,它是以当前线程对象作为键,保存到map中
map.set(Thread.currentThread(),obj) //obj是值
1、基本
ThreadLocal<T>
这个T的泛型指代的是前面说的那个Object对象,因为键的类型是已经确定了的,如:
网友评论