问题描述
[ThreadStatic]可以标注某个静态字段为每个线程提供独立的存储,单在实际应用中,我发现被标注[ThreadStatic]的静态变量还是可以被其他线程公用,这个问题怎么解决?在网上我也搜了类似的帖子,有人说是“线程池中的线程是可以被重用的,当你的请求结束后,当前线程结束,这时,其它客户端可能用你上次的线程!”,有没有高手给指点一下呢?怎么能不让重用之前的线程呢?
解决方案
解决方案二:
关于“新城池中线程”的问题是很自然的、我们为了性能而特意希望去重用线程的。不要本末倒置地去说什么“怎样不让重用之前的线程呢?”这类问题。不要用过于诡异的特性,用“正”的经过千锤百炼的,不就行了嘛。
解决方案三:
新城池中线程-->线程池中线程你可以看到,所谓ThreadStatic给你找了麻烦,然后你又去找“线程中的线程”的麻烦,这就是恶性循环。遇到这种情况,选择比较“正”的编程原则,放弃.net中的一些糟粕,就可以了。
解决方案四:
你可以看到,所谓ThreadStatic给你找了麻烦,然后你又去找“线程池中的线程”的麻烦,这就是恶性循环。遇到这种情况,选择比较“正”的编程原则,放弃.net中的一些糟粕(也就是放弃什么TrheadStatic),就可以了。
时间: 2024-10-25 07:12:23