Terminer un thread

cs_galamor Messages postés 6 Date d'inscription jeudi 2 mai 2002 Statut Membre Dernière intervention 6 juin 2002 - 17 mai 2002 à 15:53
cs_galamor Messages postés 6 Date d'inscription jeudi 2 mai 2002 Statut Membre Dernière intervention 6 juin 2002 - 21 mai 2002 à 13:43
salut,
j'aimerai savoir quels sont les moyens les plus utilisés (traduire : les plus performants et les plus simples) pour dire à une thread de s'arréter.
exemple : on passe comme paramètre au thread un pointeur sur une structure avec ce qu'on a besoin dedans + un EVENT et, dès que le thread le reçoit, il s'arrète proprement (c'est débile comme solution?).
merci d'avance à ceux qui pourront me répondre...

(je ne parle pas de terminateThread() depuis le thread primaire, ça n'a pas l'air très propre, si?)

2 réponses

cs_Manson Messages postés 137 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 30 septembre 2004
18 mai 2002 à 07:45
si tu commence ton thread par un _beginthread(), et que ton thread tourne alors par rapport à une variable, qui la reste tout le temps fixe, et qui donc permet au thread de vivre. Des que cette variable, à changé, ton thread meurt proprement grace à _endthread(), écrit juste à la fin de ta fonction prise comme thread.

Sinon tu as une autre méthode, c'est celle du THREAD_ID = CreateThread(), et la c'est à peu pres pareil, ton thread doit tourner constament, grace à une variable, mais pour l'arreter toujours proprement, tu peux faire un CloseHandle(THREAD_ID).

Le THREAD_ID est un DWORD.

voilà,

bon courage, si tu as d'autres questions, n'hésite pas.
0
cs_galamor Messages postés 6 Date d'inscription jeudi 2 mai 2002 Statut Membre Dernière intervention 6 juin 2002
21 mai 2002 à 13:43
juste pour savoir si j'ai bien compris : le thread vérifie le contenu d'une variable qu'il partage avec celui qui l'a appelé, et lorsque celle-ci change, il sort du traitement normal avec un _endthread, c'est ça?
et pour le closeHandle : ce que je voudrais c'est que le thread puisse efectuer un certain nombre d'opérations avant de finir, pour que tout se ferme proprement... est-ce possible avec le closeHandle?...
en tous cas merci pour ta réponse qui me donne des pistes
0
Rejoignez-nous