您的位置:首页 > 其它

静态方法在多线程下的调用

2010-12-17 00:03 281 查看
class Program
{
static void Main(string[] args)
{
Thread t1 = new Thread(new ParameterizedThreadStart(Work));

t1.Start(0);

Thread.Sleep(1000);

Thread t2 = new Thread(new ParameterizedThreadStart(Work));

t2.Start(1);

Console.Read();
}

static void Work(object obj)
{
int i = (int)obj;

if (i == 0)
{
Thread.Sleep(100000);
}
else
{
Console.WriteLine("ok");
}
}
}


因为程序里会有多线程同时调用同一个静态(static)方法的情况,我有些担心当一个线程在调用静态方式时挂起会不会影响另一个线程对该静态方法的调用?

上面实验可以证明我的担心是多余的。静态方法和在方法内定义的局部变量都是独立的副本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: