TransmittableThreadLocal是阿里开源的一个类,主要目的是处理父子线程变量不能共用的情况。ThreadLocal是跟当前线程挂钩的,所以脱离当前线程它就起不了作用。
- ThreadLocal
场景:它的应用就是比如当前用户特有的一些属性,不能跟其他线程,用户共用。
- TransmittableThreadLocal
场景:就是父子线程或者不同线程需要共用一些变量。举个例子:之前在肥朝哥群里,肥大一直叼胃口,因为全链路日志是自研的嘛,没有sleuth等等框架的支持,所以像MDC这些全局变量,在多线程里头就失效了。
有人觉得打印log不就完事了吗?
链路日志就是为了把请求参数,整个链路打印出来,看出性能问题,以及报错的前因后果。
有了TransmittableThreadLocal就不破自解了。
作者:Jeebiz 创建时间:2023-07-04 11:35
最后编辑:Jeebiz 更新时间:2024-10-26 16:27
最后编辑:Jeebiz 更新时间:2024-10-26 16:27