В моем приложении мне нужно выполнить серию шагов инициализации, они занимают 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
?