Arreter un thread [Résolu]

Signaler
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
-
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
-
Bonjour,

Je me demande quelle est la meilleure façon de stopper un thread:
en utilisant terminatethread ou en faisant un waitforsingleobject d'un event?
ou autre?
et aussi pourquoi?


 

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
terminatethread JAMAIS, seulement admissible pour stoper tout un processus à la sauvage.
Un event ou un flag de stop à lire régulierement ou tout autre moyen de synchro qui fera sortir proprement le thread sera OK.

ciao...
BruNews, MVP VC++
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
11
Salut,
Quand un thread atteint un return il se termine de lui même. WaitForSingleObject() permet d'attendre qu'un thread soit terminé. En plus du flag ou de l'event, on peut envoyer un message personnalisé au thread avec PostThreadMessage(). Ce message sera récupéré avec une boucle de messages propre au thread. Ensuite, il sera traité convenablement dans la fonction du thread pour le fermer proprement.