InheritableThreadLocal 的一些用途

InheritableThreadLocal 是 ThreadLocal 的近亲,和 后者基本用法一直,但是前者非线程安全,后者线程安全,InheritableThreadLocal 的用途是,创建的子线程会继承父线程的这些上下文,于是可以取到放在InheritableThreadLocal里的东西,这样可以用在比如:分布式系统中,多个系统串联起来工作,为了将这些系统中的请求的日志能串联起来,可以再最开始制造一个 SN,然后再将SN 放到InheritableThreadLocal里,后面的系统通过一些listener之类的,也将 sn 放到 InheritableThreadLocal中,然后再记录日志的配置中,将SN 配置默认输出来,就ok了。

猜你喜欢

转载自kangzye.iteye.com/blog/2358398