Начать выполнение главного потока после того, как выполнятся другие - 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);