为什么使用ThreadLocal.get()后需要clear()

  在开发web项目中,使用ThreadLocal在一个线程中存储了一个变量x时,如果你没有在get()后进行clear()操作:那么当你再次从线程池中拿到这个线程时,这个线程对象仍然保存有变量x。

springboot中server.tomcat.min-spare-threads中的默认值为10,如果你没有clear(),那么每十个请求后(在请求数相对较少时),你就会拿到原来的线程以及存储在线程中的变量。

posted @ 2021-08-09 17:22  风中的摇坠  阅读(556)  评论(0编辑  收藏  举报