Начать выполнение главного потока после того, как выполнятся другие - C#
Формулировка задачи:
Доброго времени суток. У меня вопрос, как сделать так, чтобы главный поток выполнялся, после того как выполнятся другие потоки. То что я написал в цикле это жесть, на мой взгляд). Как лучше сделать?
{ List<Thread> threads = new List<Thread>(); foreach (var sA in smallArray) { Thread thread = new Thread(delegate() { TestThread(sA, midArray, bigarray); }); threads3.Add(thread); thread.Start(); thread.Join(); Thread.Sleep(0); } while (true) { Thread th = threads.FirstOrDefault<Thread>(t => t.ThreadState == System.Threading.ThreadState.Running); if (th == null) break; Thread.Sleep(0); } MessageBox.Show("OK"); } private void TestThread(int sA, int[] midArray, int[] bigarray) { foreach (var mA in midArray) { foreach (var bA in bigarray) { test++; } } }
Решение задачи: «Начать выполнение главного потока после того, как выполнятся другие»
textual
Листинг программы
Thread.Sleep(0);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д