Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

建议优化TransmittableThreadLocal的退化逻辑 #733

Open
yuyu1025 opened this issue Jan 13, 2025 · 1 comment
Open

建议优化TransmittableThreadLocal的退化逻辑 #733

yuyu1025 opened this issue Jan 13, 2025 · 1 comment

Comments

@yuyu1025
Copy link

在使用TransmittableThreadLocal的过程中,我注意到它可能会退化为InheritableThreadLocal。这种情况可能会导致一些意想不到的问题。为了提高代码的可预测性和团队成员的理解,我建议考虑去掉这种退化的逻辑。

在处理线程传递时,我认为应该明确区分“能够透传”和“不能透传”。如果存在“能够透传但可能出现问题”的情况,可能会增加开发人员的心智负担,尤其是在团队中不同成员对TTL原理的理解程度不一时。

此外,若需要项目中所有人都了解TTL的细节并采用特定的线程池,这可能会影响团队的技术迭代和协作效率。希望能就此提出一个更简洁明了的解决方案,以便大家在使用时能有更一致的预期。

@yuyu1025
Copy link
Author

有的团队新成员可能并不了解TTL的特性,也没有采用合适的线程池,那么就可能由于退化这个特性,导致获取到用户信息是错误的。在测试环境中的并发量,可能并不好复现这种情况。
类似的情况如果出现在老项目改版,可能未知的线程池较多,漏了几个,就有概率出现重大的水平越权问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant