Допустим, у меня есть
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 не влияет ни на что вне его внутренней области, имеет ли создание threadMethod в классе static static какое-либо функциональное различие?
Кроме того, я запускаю два потока, которые используют один и тот же метод в одном классе. Каждый метод получает свой собственный стек, и они изолированы друг от друга и в classA и в classB?
Опять же, статика действительно ничего не меняет в этом случае?