Java拦截器

weixin_40047026 2020-10-29 07:03:37
想在controller中使用拦截器中的全局变量,用threadlocal能保证在并发的情况下,controller获取到当前线程的数据吗
...全文
2534 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
八爻老骥 2020-10-31
  • 打赏
  • 举报
回复
线程又不跟用户绑定的,如果100万个用户产生100万个线程那还得了,服务器早崩了。线程是从线程池拿出来的,会被重复使用的,所以不同用户得到相同的信息是很正常的。
KeepSayingNo 2020-10-30
  • 打赏
  • 举报
回复
用threadlocal定义一个map进行保存
rumlee 2020-10-30
  • 打赏
  • 举报
回复
threadlocal是绑定了线程的,所以不存在并发问题以及线程安全问题。
tianfang 2020-10-30
  • 打赏
  • 举报
回复
请求到了tomcat,tomcat从连接线程池中取一个线程响应处理,结束后又返回线程池,线程未销毁,threadlocal也未清除 所以拦截器要先清除原有信息,然后写入新信息
weixin_40047026 2020-10-30
  • 打赏
  • 举报
回复
但是昨天我试了很多次都不行,我在拦截器里买呢使用threadlocal保存用户信息,然后在controller中用于后续的业务操作。在并发的情况下,当前登录人还是会获取到别人的数据
lc545126483 2020-10-29
  • 打赏
  • 举报
回复
可以,没问题的

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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