Home/Blog/ThreadLocal + 异步线程导致用户数据串号:一次跨请求数据泄漏的完整复盘综合ThreadLocal + 异步线程导致用户数据串号:一次跨请求数据泄漏的完整复盘掘金2026-09-29 12:390 views老项目里 static ThreadLocal 存 Session,全项目零 remove(),@Async 线程复用时用户数据串号。本文复盘完整排查过程,附三条铁律与自查清单。Source:https://juejin.cn/post/7690587910256590886My favoritesPreviouschrome-devtools-mcp:让 AI 编码助手真正"看见"浏览器Next我为什么做了 Iris,又为什么停下了它Related posts最小循环:让 Agent 跑起来(I1)裸循环把无工具调用当完成,遇计划、失败、重复调用和轮次无上限就失真。I1 改成显式状态机:固定 turn 边界,用 stop_reason 收口退出,接 stop gate,靠轮次预算与重复判定防空转0掘金苹果滑动为什么有「肉感」:橡皮筋越界阻尼与弹簧动画的物理原理苹果滑动有肉感,不是视觉是物理:1:1 跟手、越界阻尼、弹簧回弹、动量惯性四层。普通网页用 linear/ease 只是时间表,换成力驱动的弹簧加阻尼才有重量,附可跑求解器。0掘金Claude Code Learning 学习模式怎么用:内置风格实测 4 次都没留代码给人写,自定义输出风格才管用(2.1.299)Claude Code 的 Learning 输出风格实测:claude -p 下 4 次都没留 TODO(human),自写 20 行风格文件后 3 次都留了,附配置和交回检查的过程。0掘金Lite模式 缓解微信开发者工具卡顿,附 uni-app 实践方案本文介绍了uni-app小程序开发工作中,使用微信开发者工具 Lite模式来缓解低端机型卡顿的方法,并在文末给出完整模式和Lite模式的资源占用对比结果。0掘金从零造一个腱绳驱动灵巧手——仿真器篇5:姿势串与手势工程——从文本协议到握拳、OK 与多姿势插值〇、一只手怎么"记住"一个姿势? 上一篇结尾留了个场景:我把软件从头到尾走了一遍——打开工程、点 T_MCP、改限位、拖 q 看拇指弯、复制右上角姿势串、切模拟模式粘贴播放。最后那两步"复制粘贴播放"0掘金嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单菜单只有三项的时候,几个判断还能撑住,一页一页加下去就开始复制了。表驱动之后,多加一项几乎只动数据——引擎和绘制循环凭什么不用再抄一份?0掘金