TransmittableThreadLocal 流程图
2024-11-05 19:28:40 0 举报
TransmittableThreadLocal 是一种线程本地存储机制,用于在不同的线程之间传递和共享数据。它的工作原理是通过在父线程中创建一个 TransmittableThreadLocal 对象,并将其值传递给子线程。在子线程中使用 InheritableThreadLocal 对象来获取父线程的值。此外,TransmittableThreadLocal 还支持在线程池和异步环境中使用,通过捕获线程的创建和运行过程,实现值的传递和共享。这种机制在多线程、高并发和分布式系统中具有广泛应用,可以提高程序的性能和稳定性。
作者其他创作
大纲/内容
6.2 beforeExecute
2. set TTL value
装饰原有的线程池,为了进行扩展,将Runnable = TtlRunable
6.4 restore
TtlExecutors.getTtlExecutorService
6.3.1 使用 TTL
6.3 run()
4.1 将 Runnablae = TtlRunable
4.递交任务到线程池
Runnable
ExecutorServiceTtlWrapper
5. submit
Transmitter
6.1: replay
1. create TTL
创建好的 TtlRunable
3.处创建线程池
BizCode 业务代码
TtlRunable
TransmittableThreadLocal
6.5 afterExecute
保留当前主线程的 Thradlocal数据
将保存的快照信息存储到当前的 TransmittableThreadLocal 中,并且和返回当前获取的最新的 holder(holder里的值是调用 TransmittableThreadLocal.set() 存储值的地方 )里面的值,进行置换,将当前的信息保存在 backup 中,将快照 capture 数据放入ThreadLocal中,将 backup 返回
ThreadPool
4.2 capture()
6. run 线程池调用
0 条评论
下一页