У меня есть консольное приложение, которое я переношу в WPF. Приложение имеет 3 рабочих потока, которые все соединены с основным потоком, пока некоторые результаты вывода не будут напечатаны на экране. Я понимаю, что если я попытаюсь сделать то же самое в приложении WPF, графический интерфейс будет заблокирован и не будет отвечать за пользователя. Как тогда я могу уведомить родительский поток о том, что все потоки завершили свою работу? Я думаю, что решение будет включать в себя делегатов и событий (или, возможно, BackgroundWorker?), Но мне было непонятно, как вызвать обратный вызов, когда поток завершен.Как вы уведомляете родительский поток о завершении всех дочерних потоков?
Оригинальный код:
foreach (Thread t in threadList)
{
t.Start();
}
foreach (Thread t in threadList)
{
t.Join();
}
// print some results here