Threadlocal的应用
1.每个线程都有一个THreadlocalMap类型的成员变量threadlocals,这个map容器的key就是我们的threadlocal,对应的value就是我们要保存的值
2.当执行set方法的时候,先获取当前线程对象,然后获取当前线程对象对应的ThreadlocalMap对象,并把当前线程对象作为key去存值;
3.执行get同理,
Threadlocal应用场景:
1.跨层传输数据,比如,当web层调用业务层再调用dao层时,传递的参数可以放在Threadlocal里,
2.线程间数据隔离的效果
3.可以存储事务信息
4.数据库连接,Session会话管理等,比如spring中的JDBC.connection就是用Threadlocal来实现的 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)