使用静态C#修改ThreadStatic
我有一些代码,我在C#中使用线程静态对象。
[ThreadStatic] private DataContext connection
我想知道,在这种情况下,如果我将静态修饰符放在线程静态上下文中,将会得到什么更改?
[ThreadStatic] private static DataContext connection
第一个会有每个线程每个实例的上下文副本,其他每个线程只有一个副本?
ThreadStaticAttribute
只能用于静态variables,正如MSDN指出的那样 。 如果你在一个实例variables上使用它,我怀疑它什么也不做。
在第一种情况下,可能会被忽略,而在第二种情况下,您是正确的,每个线程一个实例。
MSDN说:
指示每个线程的静态字段的值是唯一的。
所以我想你第一个案件是不正确的…该属性可能会被忽略