我居然被TransmittableThreadLocal框架作者评论了

前言


在掘金关注我的读者,可能不知道我之前是在csdn博客写了5年的博客专家,默默无闻的写了500多篇文章,当然有些是在前期学技术的时候写的,主要是总结技术还有学习的心得。

image.png

被框架作者评论了


直到今天看了一篇文章的评论,我才发现我被TransmittableThreadLocal框架作者评论了,然后自己浑然不知道,OMG~

image.png

image.png

贼开心,今天忍不住再去看下源码,因为一直以来,TransmittableThreadLocal对线程池支持是不好的,因为它需要我们自己通过TtlExecutors.getTtlExecutorService(executorService);创建线程池,那么对于中间件已经有的线程池,我们需要去重写~

TransmittableThreadLocal agent改写线程池


image.png

我们来看下官网的时序图,runnable被包裹在TtlRunnable类,改写了ThreadPool beforeExecute方法,将线程变量在执行完之后重新塞回线程。

AbstractExecutorTtlTransformlet

image.png

执行的runnable改成自己封装的类,在执行过程中,获取本地线程变量,拿到的是之前的。

issue


在github里头,有个issue提到,-agent会跟skywalk的字节码冲突,然后需要将这个agent放前面。

最后


能被开源框架作者评论有点受宠若惊,希望自己以后的博客多用心,可以得到更多读者的支持,感谢~

引用why大的话,之前跟他微信聊,总会有这几句:一起学习,一起进步~

我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿

猜你喜欢

转载自juejin.im/post/7116541748280557581
今日推荐