用来存储当前用户的id,通过解析JWT得到id,将id放入到线程池中去。
编写的BaseContext类。 全部定义的是静态的方法。
实际开发使用;
java">public class BaseContext {private static ThreadLocal<Long> threadLocal=new ThreadLocal();public static void setCurrentId(Long id){threadLocal.set(id);}public static Long getCurrentId(){return (Long) threadLocal.get();}public static void removeCurrentId(){threadLocal.remove();}public static void main(String[] args) {BaseContext.setCurrentId(19L);System.out.println(BaseContext.getCurrentId());}
}
用完之后就需要进行remove,删除对应的内存。
null 0 null 1 每个Threadlocal 只有一个自己的变量。
线程对象用完之后其实并没有销毁。
弱引用:gc的时候被回收