我有一些代码,我在C#中使用线程静态对象。
[ThreadStatic]
private DataContext connection
我想知道,在这种情况下,如果我将静态修饰符放在线程静态上下文中,我会得到什么改变?
[ThreadStatic]
private static DataContext connection
第一个是每个线程每个实例有一个上下文副本,每个线程只有一个副本吗?
答案 0 :(得分:56)
ThreadStaticAttribute
仅用于静态变量,MSDN points out。如果你在实例变量上使用它,我怀疑它什么都不会。
答案 1 :(得分:8)
在第一种情况下,它可能会被忽略,而在第二种情况下,你是正确的,每个线程一个实例。
答案 2 :(得分:6)
MSDN说:
表示每个线程的静态字段的值是唯一的。
所以我猜你的第一个案例是不正确的......该属性可能会被忽略