ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal、FastThreadLocal对比分析

一、ThreadLocal

ThreadLocal:线程局部变量,用于线程间的线程封闭。ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量。

二、InheritableThreadLocal

InheritableThreadLocal:可继承的线程局部变量,用于父线程传递本地变量到子线程。InheritableThreadLocal继承自ThreadLocal,并且重写了父类的方法:childValue、getMap、createMap。

三、TransmittableThreadLocal

TransmittableThreadLocal:可传输的线程局部变量,在使用线程池等会池化复用线程的执行组件情况下,提供ThreadLocal值的传递功能,解决异步执行时上下文传递的问题。
。TransmittableThreadLocal继承自InheritableThreadLocal。

使用场景如下:

1、分布式跟踪系统 或 全链路压测(即链路打标)
2、日志收集记录系统上下文
3、Session级Cache
4、应用容器或上层框架跨应用代码给下层SDK传递信息

四、FastThreadLocal

FastThreadLocal:快速的线程局部变量。要和FastThreadLocalThread配合使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ronshi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值