W mojej aplikacji muszę wykonać serię czynności inicjalizacyjnych, których ukończenie zajmuje 7-8 sekund, podczas których mój interfejs użytkownika przestaje odpowiadać. Aby rozwiązać ten problem, wykonuję inicjalizację w osobnym wątku:
public void Initialization()
{
Thread initThread = new Thread(new ThreadStart(InitializationThread));
initThread.Start();
}
public void InitializationThread()
{
outputMessage("Initializing...");
//DO INITIALIZATION
outputMessage("Initialization Complete");
}
Przeczytałem kilka artykułów o tym, BackgroundWorker
jak i jak powinno to pozwolić mi zachować responsywność mojej aplikacji bez konieczności pisania wątku w celu wykonania długich zadań, ale nie odniosłem żadnego sukcesu, próbując go wdrożyć, czy ktoś mógłby powiedzieć, jak bym to zrobił to za pomocą BackgroundWorker
?