关于[ThreadStatic()] c#

时间:2011-08-25 19:40:27

标签: c# asp.net

[ThreadStatic()]

的含义是什么?

我有一段代码,我发现[ThreadStatic()] 在那里使用它是什么意思....何时使用[ThreadStatic()]

public class Context
{
[ThreadStatic()]
private static Context _Context = null;

private HttpContext _HttpContext = null;

public Context()
{
    _HttpContext = HttpContext.Current;
}

public static Context Current
{
    if(_Context == null || 
       _HttpContext != _HttpContext.Current)
    {
        _Context = new Context();
    }
    return _Context;
}
}

2 个答案:

答案 0 :(得分:2)

来自documentation

  

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

在您的代码中_Context是静态的,但每个线程都不同。

如果你有更多原生编程的背景知识,可以将它们视为半局部线程本地存储。

答案 1 :(得分:2)