ThreadLocal学习
用来存储当前用户的id,通过解析JWT得到id,将id放入到线程池中去。
编写的BaseContext类。 全部定义的是静态的方法。
实际开发使用;
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的时候被回收
原文地址:https://blog.csdn.net/ngczx/article/details/140238063
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!