看到一篇不错的介绍ThreadLocal的坑的博文
在走tomcat的http请求中确实是一个请求对应一个线程,但是这个线程可能是同一个线程。因为tomcat默认使用用线程池技术来服务请求的。比如a请求进来从线程池中分配一个线程来处理这个请求,a请求结束后,线程又被放回到线程池中,b请求进来时有可能又是上次服务a请求的那个线程被去取出来服务b请求。
而Threadlocal又是维护的当前线程的局部变量,所以当我们使用threadlocal时,在每个请求结束后需要清除当前线程的threadlocal变量,以免出现问题。
https://www.cnblogs.com/anai/p/5620705.html
还没有评论,来说两句吧...