不同请求获取到了相同的ThreadLocal值引起的问题
来源:互联网 发布:mysql的事务隔离级别 编辑:程序博客网 时间:2024/05/22 04:23
问题:两个不同的请求,在获取ThreadLocal里保存的值时,获取到了相同的值。
原因:这两个请求共用了一个线程。
1、http1.1协议中的keep-alive是默认开启的,同一个会话中,有限的请求是共用一个长连接的。
2、tomcat默认使用线程池,所以一个线程的生命周期不能对等于一个请求的生命周期,线程池中的线程是可以被复用的。
解决方案:1、保证每次都用新的值覆盖线程变量;
2、保证在每个请求结束后清空线程变量。
阅读全文
0 0
- 不同请求获取到了相同的ThreadLocal值引起的问题
- ThreadLocal引起的问题
- 解决spring中不同配置文件中存在name或者id相同的bean可能引起的问题
- 解决spring中不同配置文件中存在name或者id相同的bean可能引起的问题
- 解决spring中不同配置文件中存在name或者id相同的bean可能引起的问题
- jdk版本不同引起的问题分析
- thrift数据类型不同引起的传输问题
- 相同代码不同属性导致的问题
- View不同,id相同的问题
- 开启两个相同trace引起的性能问题
- 网络请求参数不同却得到相同数据的调查
- nginx监听相同端口,根据域名请求不同的server
- foreach获取相同的key里面的不同数据
- ThreadLocal可能引起的内存泄露
- ThreadLocal可能引起的内存泄露
- 关于ThreadLocal内存泄漏引起的思考
- ThreadLocal可能引起的内存泄露
- ThreadLocal可能引起的内存泄露
- MySQL常用函数
- 数据结构与算法专题之图——最短路径算法
- 性能测试总结(二)---测试流程篇
- tmux命令大全
- C# 调用 C++ 写的Dll 遇到的问题(调用DLL 自动退出) win32已停止工作
- 不同请求获取到了相同的ThreadLocal值引起的问题
- 父节点layout动态添加子节点,container模式动态更新父节点size
- CentOs7改造mysql服务
- [题解]hdu5306 Gorgeous Sequence
- 全方面角度剖析一句话木马
- QT CSV操作
- shell脚本截取列cut的使用
- 传数据不能为中文,而是乱码
- java概述