No meu aplicativo, preciso executar uma série de etapas de inicialização, que levam de 7 a 8 segundos para serem concluídas, durante as quais minha interface do usuário fica sem resposta. Para resolver isso, eu executo a inicialização em um thread separado:
public void Initialization()
{
Thread initThread = new Thread(new ThreadStart(InitializationThread));
initThread.Start();
}
public void InitializationThread()
{
outputMessage("Initializing...");
//DO INITIALIZATION
outputMessage("Initialization Complete");
}
Eu li alguns artigos sobre oe BackgroundWorker
como ele deve permitir que eu mantenha meu aplicativo responsivo sem precisar escrever um thread para executar tarefas demoradas, mas não tive sucesso ao tentar implementá-lo. Alguém poderia dizer como eu faria isso usando o BackgroundWorker
?