//ThreadStatic 指示每个静态类型字段对于每一个线程都是唯一的
[ThreadStatic]
public static int i; // 不赋值,否则只执行一次
public static void ChangeI()
{
i = 3; console.writeLine( i.ToString()); //这里输出3
}
static void Main(string[] args)
{
int j = i;
Thread thread = new Thread(new ThreadStart(ChangeI));
thread.Start();
Console.WriteLine(j);
Console.WriteLine(i); //输出默认值 0
Console.Read();
}
本文介绍C#中ThreadStatic特性的使用方法及注意事项。通过示例代码演示如何为每个线程提供独立的静态变量副本,避免多线程环境下的数据污染问题。
400

被折叠的 条评论
为什么被折叠?



