Si tu configures les threads que tu crées dans ton application pour que ce soit des threads d'arrière plan (background thread), tu as toujours le problème ?
Par défaut ce n'est pas le cas il me semble (on parle de foreground thread à ce moment), il faut l'indiquer de cette manière
monThread.IsBackground = true;
Cela permettra de voir si déjà le Application.Restart seul suffit (les background threads ne pouvant pas bloquer la fin d'un process, contrairement aux foreground threads), car cela devrait être le cas si tous tes threads sont configurés ainsi.
Si à partir de là le Restart fonctionne bien, soit tu peux faire avec des background threads (ils sont donc forcés à stopper, ce qui peux être gênant) soit tu dois forcer toi même l'interruption de tes threads proprement pour que le process puisse être quitté.
Partager