juejin.cn
ThreadLocal确实是线程私有的,并且会在线程销毁后,ThreadLocal里面的数据也会被清理掉。无论我们服务端用的是Tomcat、Jetty、SpringBoot、Dubbo等,都不会来一个请求就创建一个线程,而是创建一个线程池,所有请求共享这这个线程池里的线程。解决办法就是,在使用完ThreadLocal后,再调用remove方法清除ThreadLocal数据。总结:使用ThreadLocal一定要注意以上情况,使用完后,切记finally里面使用remove方法清除掉。
展开
评论