【发布时间】:2009-10-02 21:10:39
【问题描述】:
假设我有
class classA {
void someMethod()
{
Thread a = new Thread(threadMethod);
Thread b = new Thread(threadMethod);
a.Start();
b.Start();
a.Join();
b.Join();
}
void threadMethod()
{
int a = 0;
a++;
Console.Writeline(a);
}
}
class classB {
void someMethod()
{
Thread a = new Thread(threadMethod);
Thread b = new Thread(threadMethod);
a.Start();
b.Start();
a.Join();
b.Join();
}
static void threadMethod()
{
int a = 0;
a++;
Console.Writeline(a);
}
}
假设在classA和classB中,threadMethod的内容对其内部范围之外的任何东西都没有影响,那么将classB中的threadMethod设为静态有什么功能上的区别吗?
另外,我在同一个类中启动了两个使用相同方法的线程。每个方法是否都有自己的堆栈,并且它们在 classA 和 classB 中彼此隔离? 在这种情况下,静态真的没有任何改变吗?
【问题讨论】:
标签: multithreading oop thread-safety