Dans mon application, je dois effectuer une série d'étapes d'initialisation, qui prennent entre 7 et 8 secondes, pendant lesquelles mon interface utilisateur ne répond plus. Pour résoudre ce problème, j'effectue l'initialisation dans un thread séparé:
public void Initialization()
{
Thread initThread = new Thread(new ThreadStart(InitializationThread));
initThread.Start();
}
public void InitializationThread()
{
outputMessage("Initializing...");
//DO INITIALIZATION
outputMessage("Initialization Complete");
}
J'ai lu quelques articles sur le BackgroundWorker
et comment cela devrait me permettre de garder mon application réactive sans jamais avoir à écrire un fil pour effectuer de longues tâches, mais je n'ai pas eu de succès en essayant de l'implémenter, quelqu'un pourrait-il dire comment je ferais ceci en utilisant le BackgroundWorker
?