В моем приложении мне нужно выполнить серию шагов инициализации, для завершения которых требуется 7-8 секунд, в течение которых мой пользовательский интерфейс перестает отвечать на запросы. Чтобы решить эту проблему, я выполняю инициализацию в отдельном потоке:
public void Initialization()
{
Thread initThread = new Thread(new ThreadStart(InitializationThread));
initThread.Start();
}
public void InitializationThread()
{
outputMessage("Initializing...");
//DO INITIALIZATION
outputMessage("Initialization Complete");
}
Я прочитал несколько статей о BackgroundWorker
и о том, как он должен позволить моему приложению реагировать без необходимости писать поток для выполнения длинных задач, но у меня не было никаких попыток реализовать его, может Кто-нибудь скажите, как бы я сделал это с помощью BackgroundWorker
?