C# - Threads - Jveux tous les butter

C# - Threads - Jveux tous les butter - C#/.NET managed - Programmation

Marsh Posté le 14-05-2004 à 09:48:03    

:hello:  
 
Voila, jai un app avec plusieurs threads. Le "meurtre" est  
prevu au moment voulu. Cependant, parfois, l´attentat contre
un Thread rate... il est toujours en vie qund je quitte l´app
(plutot zombie, il a plus de pere le pauvre...)  
 
Donc je cherche à recuperer la liste de tous les thread  
de mon appli afin detre sur avant de clore la MainForm
que tous ses fils sont morts et enterrés-
 
Un peu morbide ce topic...  :D

Reply

Marsh Posté le 14-05-2004 à 09:48:03   

Reply

Marsh Posté le 14-05-2004 à 09:53:05    

:o

Reply

Marsh Posté le 14-05-2004 à 10:34:01    

ExitProcess devrait suffire...

Code :
  1. Process.GetCurrentProcess().Close()


Mais ça a l'air cochon ton histoire.

Reply

Marsh Posté le 14-05-2004 à 11:18:25    

Code :
  1. Process.GetCurrentProcess().Kill();


Sauvage. mais ca marche, merci.
 
Mon prob en fait, c´est que jai un server TCP dans un while(boolean)
comme un sauvage. et dedans jai un accept blokant.
donc pour quitter le serveur, il faut une deniere connection client !
 
Une solution consiterait a mettre un timeotut au accept,
( ca me rapelle  le bon vieux select en c tout ca... :) )
 
mais je trouve pas... et je cherche depuis (edit) 2 heures now
 
 :pt1cable:  :pt1cable:  jdeviens crazy dingo  :pt1cable:  :pt1cable:


Message édité par meumeul le 14-05-2004 à 12:09:02
Reply

Marsh Posté le 19-05-2004 à 23:58:04    

Tu peux tout simplement appeler la méthode Close() de ton socket ou Stop() de l'instance de TcpListener. Tu auras alors une exception de lancée dans ta thread sur l'accept, que tu peux gérer proprement puis sortir.
 
Kill/Abort et similaires sont à utiliser en dernier ressort.
 
--
Jay
{Epitech.}
http://msdn.labtech.epitech.net/blogs


Message édité par jaylee le 19-05-2004 à 23:59:13
Reply

Marsh Posté le 21-05-2004 à 08:41:00    

je fais un close ou stop en dehors de mon threads, qui lui est bloqué
sur le accept et ca leve une exception. ca marche,
c super merci beaucoup.
 
edit: pas moyen de trouver le nom de l´execption levée par contre.. jai pas
encore saisi comment savoir quelle exception est levée qand
avec VS... :D


Message édité par meumeul le 21-05-2004 à 12:17:33
Reply

Marsh Posté le 21-05-2004 à 14:19:42    

ah au fait jaylee. ta signature, le lien ne marche pas. jai inversé deux lettre (blog) et ca marche :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed