J'ai une application C# qui a une interface utilisateur et des threads d'arrière-plan. Basé sur l'entrée de l'utilisateur, j'aime arrêter et démarrer le fil d'arrière-plan. J'ai deux options que je vois.Comment démarrer et arrêter le thread d'arrière-plan encore et encore?
1) arrêter totalement et puis commencer fil d'arrière-plan en tant que nouveau fil (je ne l'ai pas été en mesure à ce que je continue à recevoir mon processus de message terminé)
2) mettre en pause le le fil d'arrière-plan jusqu'à ce que l'utilisateur clique à nouveau sur
Voici le code que j'appelle à nouveau après bw.CancelAsync();
private void StartBackgroundWorker()
{
bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.WorkerSupportsCancellation = true;
bw.DoWork += bw_DoWork;
bw.RunWorkerCompleted += bw_RunWorkerCompleted;
bw.RunWorkerAsync("Background Worker");
}
Merci d'avance pour votre aide.
Vous ne savez pas exactement ce que vous demandez ici - voyez-vous une erreur? – itowlson
Dans quel but faites-vous cela? –
pourquoi ne pas utiliser ThreadPool? – lsalamon