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 BackgroundWorkercomo 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?