我可以制作Dictionary<Thread, object>
来存储线程的数据并使用Thread.CurrentThread检索它吗?
最佳答案
可以,但是还需要进行同步(因为Dictionary<,>
并非线程安全的)。
备择方案:
ThreadStaticAttribute
ThreadLocal<T>
(.NET 4)当然,使用字典而不是
ThreadStaticAttibute
的好处是您不必担心垃圾,甚至不必担心黑魔法。如果您使用的是.NET 4,则ThreadLocal<T>
可能是您的最佳选择。关于c# - Thread.CurrentThread是否总是返回相同的实例吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5514244/