Closed aftersss closed 7 years ago
@aftersss 收到,我看看
@aftersss 修复在进行中。转成了复现问题的UT,参见提交: bbd4f9ea028e1f383585f61588598c55acd98c36
如果急着解决,先给一个bypass的方法:
new Thread(){
public void run(){
// 这里补一行 get
tl1.get();
TtlRunnable runnable = TtlRunnable.get(new Runnable() {
@Override
public void run() {
System.out.println("pool tl1-2:"+tl1.get());
}
},false,false);
executorService.submit(runnable);
}
}.start();
问题已经修复,参见 提交
发布了版本 2.1.0
,这里是release log, Maven依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>2.1.0</version>
</dependency>
@aftersss 非常赞 👍
嵌套Thread
和ExecutorServcie
这样的使用方式,
之前的UT没有覆盖到,到现在为止的使用中也没有触发这个问题。
非常感谢你的问题反馈!!
OK,谢谢
@aftersss 问一下你在什么场景/需求下使用ttl,哪个公司/项目。收集了解一下用户 :)
运行以下代码:
输出:
第二行不应该为
null
,改成使用InheritableThreadLocal
是正常的。