Mon application est constituée d'une boucle de messages principale (GUI) et de threads (Task.Factory).Threads, processes et Application.Exit()
Dans les discussions que j'appelle certaines applications 3ème partie avec var p = new Process();
Mais quand j'invoque Application.Exit();
dans la boucle de message - Je vois que les processus, qui ont été commencés dans les fils sont encore dans la mémoire et sont réalisé.
Donc la question est - comment tuer tous les threads et les processus juste après Application.Exit();
a été invoqué?
UPD:
ancienne:
p.WaitForExit();
nouvelle:
while (!p.WaitForExit(1000))
{
if (FlagToExit)
{
p.Kill();
return;
}
}
Donc j'ai juste besoin de créer un drapeau booléen que je dois observer dans les threads et quand il devient vrai (je l'assignerai vrai sur l'événement Application.ApplicationExit) - alors Terminer les processus? – zerkms
J'ai ajouté une mise à jour, sur la façon dont je m'attends à l'implémenter. S'il vous plaît, critiquez-le. – zerkms
Ce que vous avez dit devrait fonctionner. –