tomcat 是一个请求产生一个线程吗?如果不是那ThreadLocal不是有问题

梦想的精英 2016-11-02 09:37:05
我研究了半天也没有解决,请问一个请求时会产生一个线程吗?(我之前一直这么以为的)...但我去获取线程id或name时候发现不是的,然后网上有些人说不是的,因为有线程池,他在服务器启动的时候就会先创建几个线程。那我就是有迷茫了,那我们之前用的ThreadLocal,如果不是每次请求都会产生一个线程,有些可能不同的请求用的是同一个线程,那ThreadLocal不是失去它的意义了????求解
...全文
721 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanicc 2018-12-03
  • 打赏
  • 举报
回复
Threadlocal用完之后应该及时remove
qq_30082703 2018-11-26
  • 打赏
  • 举报
回复
线程被重新放到线程池后,其产生的数据副本就会被垃圾回收机制回收。
X元素 2016-11-03
  • 打赏
  • 举报
回复
引用 2 楼 qq_18416057 的回复:
那如果一个请求不一般不会产生一个新的线程,都是从线程库里面拿现成的。那ThreaLocal不就是失去它的意义了吗,求解
你想的没错,但是ThreadLocal 提供了销毁方法,
梦想的精英 2016-11-03
  • 打赏
  • 举报
回复
那如果一个请求不一般不会产生一个新的线程,都是从线程库里面拿现成的。那ThreaLocal不就是失去它的意义了吗,求解
tianfang 2016-11-03
  • 打赏
  • 举报
回复
一般不是新生成线程,是从线程池中获得一个 ThreadLocal 需要在请求的入口处进行初始化,然后一直持续到处理逻辑结束
梦想的精英 2016-11-03
  • 打赏
  • 举报
回复
你能说的清楚一点吗?你的意思即使两次操作通用一个线程,每一次操作将ThreadLocal的数据都销毁吗?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧