Terminer un thread

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 26 déc. 2003 à 19:03
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 26 déc. 2003 à 20:04
Rebonjour

J'ai crée un thread de la manière suivante:

HANDLE hThread = CreateThread(0, 0, ThreadProc, &ts, 0, &dwThreadId);


et je voudrais l'arrêter avant qu'il ne soit terminé mais

TerminateThread(hThread, 1);


ne marche pas

Comment puis-je faire?

Merci

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 déc. 2003 à 19:20
TerminateThread devrait fonctionner mais reserve aux extremes urgences. Si tu pouvais verifier un indicateur dans ton thread pour qu'il retourne une valeur 'proprement' serait mieux.
Je vais verifier TerminateThread.
BruNews, ciao...
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
26 déc. 2003 à 19:41
oui c'est ce que j'avais fait, mais ca me semblait bizarre qu'il y ait une fonction SuspendThread qui marche très bien et qu'on ne puisse pas utiliser TerminateThread.
Merci quand même
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 déc. 2003 à 19:42
Je viens de faire un mini prog de test avec un boucle infinie dans le thread, TerminateThread le stoppe sans probleme.
Si tu veux que je le pose, tu le dis.
BruNews, ciao...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 déc. 2003 à 19:46
SuspendThread a un role different, il met en pause le thread mais ne le termine pas, on peut le relancer au point ou on l'a stoppe.
BruNews, ciao...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
26 déc. 2003 à 19:59
Oui j'avais bien compris l'utilité de SuspendThread, mais je dis juste que dans le meme ordre d'idées, on peut imaginer une fonction qui permette d'arrêter un thread.
J'ai essayé comme tu dis sur un mini prog et effectivement ca marche, il doit y avoir d'autres intéractions dans mon programme qui font que ca ne marche pas, je vais regarder ce que donne GetLastError() tiens...
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
26 déc. 2003 à 20:04
Non ce n'était même pas la peine puisque l'appel n'échoue même pas; tant pis je vais faire avec l'autre méthode, en plus si tu dis qu'elle est meilleure...
0
Rejoignez-nous