-
BackgroundWorker - Pause
Yep,
Je travaille sur un projet où j'utilise le BackGroundWorker. Il faudrait que je puisse le mettre en pause et le redémarrer à la demande (l'application qui contient le BackGroundWorker est commandée par une autre qui permet ces options). A part utiliser une variable qui si elle est à la valeur fausse ne ferait pas le traitement dans la boucle , existe t'il une autre solution car je n'ai pas trouvé de méthode pending ou restart ?
-
Bonjour,
Effectivement, je ne pense pas que le BackgroundWorker permette ce genre de chose. Tourne toi plutôt vers le System.Threading.Thread qui donne beaucoup plus de souplesse pour la gestion des threads.
voir Suspension et reprise des threads
eb.
-
dans les 2 cas il te faut une boucle dans le thread, un booléen pour dire s'il faut mettre en pause, et dans le thread si le booléen vaut true tu boucles jusqu'à qu'il vaille false avec thread.sleep(x) (x entre 2 et 100 selon la nécessité de repartir vite)
sinon en mieux il y a le manualresetevent qui remplace le booléen et la boucle
-
Merci pour vos réponses. Pour le booléen c'est bien à cela que j'avais pensé mais je me demandais si je n'avais pas louper une méthode dans le BackGroundWorker