用静态C#修改ThreadStatic

时间:2009-05-15 12:57:33

标签: c# static thread-static

我有一些代码,我在C#中使用线程静态对象。

[ThreadStatic]
private DataContext connection 

我想知道,在这种情况下,如果我将静态修饰符放在线程静态上下文中,我会得到什么改变?

[ThreadStatic]
private static DataContext connection 

第一个是每个线程每个实例有一个上下文副本,每个线程只有一个副本吗?

3 个答案:

答案 0 :(得分:56)

ThreadStaticAttribute仅用于静态变量,MSDN points out。如果你在实例变量上使用它,我怀疑它什么都不会。

答案 1 :(得分:8)

在第一种情况下,它可能会被忽略,而在第二种情况下,你是正确的,每个线程一个实例。

答案 2 :(得分:6)

MSDN说:

  

表示每个线程的静态字段的值是唯一的。

所以我猜你的第一个案例是不正确的......该属性可能会被忽略