Nella mia applicazione ho bisogno di eseguire una serie di passaggi di inizializzazione, che richiedono 7-8 secondi per il completamento durante i quali la mia UI non risponde. Per risolvere questo, eseguo l'inizializzazione in un thread separato:
public void Initialization()
{
Thread initThread = new Thread(new ThreadStart(InitializationThread));
initThread.Start();
}
public void InitializationThread()
{
outputMessage("Initializing...");
//DO INITIALIZATION
outputMessage("Initialization Complete");
}
Ho letto alcuni articoli su BackgroundWorker
e come dovrebbe consentirmi di mantenere la mia applicazione reattiva senza mai dover scrivere un thread per eseguire compiti lunghi ma non ho avuto alcun successo nel tentativo di implementarlo, qualcuno potrebbe dire come farei questo usando il BackgroundWorker
?