Почему thread2 также ждет завершения thread1 вместе с основным потоком?
Pulic Statc Void Main() { Thread t1 = new Thread(SampleClass.StaticMethod1); t1.Start(); Thread t2 = new Thread(SampleClass.StaticMethod2); t2.Start(); t1.Join(); t2.join(); Console.Writeline("Main method Completed"); } Pulic Statc Void StaticMethod1() { Thread.Sleep(10000) Console.Writeline("StaticMethod1 Completed"); } Pulic Statc Void StaticMethod2() { Console.Writeline("StaticMethod2 Completed") }
При выполнении приведенного выше кода why does thread2 join is waiting for thread1 to join.
Насколько я знаю, основной поток будет ждать, пока thread1 присоединится, но не другие потоки ?
Что я уже пробовал:
Я пробовал запускать приведенный выше код по-разному, но все это делает одно и то же.
0x01AA
Видеть здесь: Нить.Метод Соединения (System.Нарезание резьбы)[^]
В Замечания вы найдете следующее: "Join-это метод синхронизации, который блокирует вызывающий поток (то есть поток, вызывающий метод) до тех пор, пока поток, чей метод Join вызывается, не завершится"
Следовательно t1.Join();
блокирует вызывающий поток