首页
/ 阿里巴巴开源项目:TransmittableThreadLocal

阿里巴巴开源项目:TransmittableThreadLocal

2026-01-20 02:15:00作者:宣聪麟

项目基础介绍和主要编程语言

TransmittableThreadLocal(简称TTL)是阿里巴巴开源的一个Java标准库扩展项目,主要用于解决在使用线程池等会池化复用线程的执行组件情况下,ThreadLocal值的传递问题。该项目的主要编程语言是Java,支持Java 6及以上版本。

项目核心功能

TransmittableThreadLocal的核心功能是提供一个增强的InheritableThreadLocal,能够在使用线程池等组件时,确保ThreadLocal值在不同线程之间的传递。具体功能包括:

  1. 值传递:在任务提交给线程池时,将当前线程的ThreadLocal值传递到任务执行时。
  2. 线程池修饰:提供工具类TtlExecutors,用于修饰线程池,省去每次Runnable和Callable传入线程池时的修饰操作。
  3. Java Agent支持:通过Java Agent技术,实现线程池的传递功能透明化,应用代码无侵入。

项目最近更新的功能

最近更新的功能包括:

  1. 支持ForkJoinPool:从版本2.5.1开始,TTL支持ForkJoinPool,从而也透明支持了CompletableFuture与Stream。
  2. 支持TimerTask:从版本2.7.0开始,TTL支持TimerTask的修饰,从2.11.2版本开始缺省开启TimerTask的修饰。
  3. Java 8升级:从TTL v2.13+开始,项目升级到Java 8,但仍支持Java 6的使用版本2.12.x。

通过这些更新,TransmittableThreadLocal进一步增强了其在复杂多线程环境下的适用性和稳定性。

登录后查看全文
热门项目推荐
相关项目推荐