问题:在使用线程池等会缓存线程的组件情况下,提供ThreadLocal值的传递功能。
JDK的InheritableThreadLocal类可以完成父子线程值的传递。 但对于使用线程池等会缓存线程的组件的情况,线程由线程池创建好,并且线程是缓存起来反复使用的;这时父子线程关系的上下文传递已经没有意义,应用中要做上下文传递,实际上是在把 任务提交给线程池时的上下文传递到 任务执行时。
![](https://img.haomeiwen.com/i7996159/be82199d633d97de.png)
![](https://img.haomeiwen.com/i7996159/5d2287ba3c79717d.png)
![](https://img.haomeiwen.com/i7996159/944f4b8f8a0e9855.png)
![](https://img.haomeiwen.com/i7996159/4724f6e5ffc20d9a.png)
![](https://img.haomeiwen.com/i7996159/e7466843e9b095a6.png)
![](https://img.haomeiwen.com/i7996159/f30b575bc7e5413a.png)
JDK的InheritableThreadLocal类可以完成父子线程值的传递。 但对于使用线程池等会缓存线程的组件的情况,线程由线程池创建好,并且线程是缓存起来反复使用的;这时父子线程关系的上下文传递已经没有意义,应用中要做上下文传递,实际上是在把 任务提交给线程池时的上下文传递到 任务执行时。
本文标题:TtlExecutors
本文链接:https://www.haomeiwen.com/subject/dwgklrtx.html
网友评论