j'utilise le travailleur de fond pour faire une opération coûteuse:réutiliser le BackgroundWorker plus d'une fois
backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
backgroundWorker1.RunWorkerAsync(inputs);
A la fin j'ai ceci:
void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Messagebox.Show("Done with expensive operation 1"};
}
J'ai maintenant une autre opération coûteuse. Puis-je réutiliser ce même arrière-plan? Je veux maintenant de nouveaux callbacks que je ne veux pas les instructions switch sur le ProgressChanged et DoWork Callbacks pour déterminer si je suis en train de faire l'opération 1 ou 2.
Est-il juste plus simple à utiliser 2 classes de travailleurs de fond séparés