Arrêt d'un thread contenant un scoket bloquant.

Le
Pierrot
Bonjour,
J'ai développé une form qui lance un thread serveur de type socket UDP.
Ce thread est à l'écoute de message et met à jour ma form dès qu'il
reçoit un message.
Quand je souhaite fermer ma forme je n'arrive pas à arrêter ce thread en
utilsant la méthode abort().
Mon application est elle bien stoppée (Application.Exit();) Dès que le
thread reçoit un nouveau message, il tombe en erreur car il essaie de
mettre à jour la forme qui n'est plus référencée.

Il y a-il une subtilité au niveau des threads bloquants.

Merci pour vos conseils.
Pierre.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles Kohl [MVP]
Le #12146311
On Mon, 12 May 2008 12:11:26 +0200, Pierrot wrote:

Bonjour,
J'ai développé une form qui lance un thread serveur de type socket UDP.
Ce thread est à l'écoute de message et met à jour ma form dès qu'il
reçoit un message.
Quand je souhaite fermer ma forme je n'arrive pas à arrêter ce thread en
utilsant la méthode abort().
Mon application est elle bien stoppée (Application.Exit();) Dès que le
thread reçoit un nouveau message, il tombe en erreur car il essaie de
mettre à jour la forme qui n'est plus référencée.

Il y a-il une subtilité au niveau des threads bloquants.

Merci pour vos conseils.
Pierre.



Essayez si la mise à "true" de la propriété IsBackground du thread qui
ne veut pas terminer change les choses. La propriété "IsDisposed" the
votre forme pourrait aussi être utilisée - avant de l'accéder - pour
déterminer si la forme est toujours "en vie".

Amicalement,
Gilles.

Regards,
Gilles [MVP].

(Please reply to the group, not via email.
Find my MVP profile with past articles / downloads here:
http://www.gilleskohl.de/mvpprofile.htm)
Pierrot
Le #12146301
Gilles Kohl [MVP] a écrit :
On Mon, 12 May 2008 12:11:26 +0200, Pierrot wrote:

Bonjour,
J'ai développé une form qui lance un thread serveur de type socket UDP.
Ce thread est à l'écoute de message et met à jour ma form dès qu'il
reçoit un message.
Quand je souhaite fermer ma forme je n'arrive pas à arrêter ce thread en
utilsant la méthode abort().
Mon application est elle bien stoppée (Application.Exit();) Dès que le
thread reçoit un nouveau message, il tombe en erreur car il essaie de
mettre à jour la forme qui n'est plus référencée.

Il y a-il une subtilité au niveau des threads bloquants.

Merci pour vos conseils.
Pierre.



Essayez si la mise à "true" de la propriété IsBackground du thread qui
ne veut pas terminer change les choses. La propriété "IsDisposed" the
votre forme pourrait aussi être utilisée - avant de l'accéder - pour
déterminer si la forme est toujours "en vie".

Amicalement,
Gilles.

Regards,
Gilles [MVP].

(Please reply to the group, not via email.
Find my MVP profile with past articles / downloads here:
http://www.gilleskohl.de/mvpprofile.htm)



Lmaise à "true" de la propriété IsBackground du thread résoud bien mon
problème.
Merci beaucoup et bonne journée.
Pierre
Publicité
Poster une réponse
Anonyme