Mettre un thread en pause

Résolu
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006 - 29 sept. 2006 à 15:01
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006 - 6 oct. 2006 à 16:57
Bonjour

Je voudrais controler l'éxécution d'une fonction à travers un thread et pouvoir l interrompre ou l'arreter. La subtilité réside dans le fait que je ne veux pas retoucher le code de ma fonction.
Je comptais passer par la fonction afxBeginThread que propose les MFC mais je me suis vite rendu compte qu'il n'était pas possible de mettre la fonction en pause sans la retoucher.

Est ce que qq un pourrait m'éclairer sur la facon dont je dois m'y prendre ?

Vers l'infini et au delà... [Q]

3 réponses

cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
29 sept. 2006 à 15:24
Créer le thread par CreateThread avec éventuellement une valeur de CREATE_SUSPEND à l'argument dwCreationFlags pour le commencer en état suspendu.
Puis utiliser ResumeThread(HANDLE hThread) et SuspendThread(HANDLE hThread) avec le handle retourné par CreateThread. Ca marche aussi sûrement avec afxBeginThread.
3
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006
29 sept. 2006 à 15:45
Je te remercie.

Je ne pourrais tester tout ca que lundi mais je pense que ca correspond a ce que je voulais faire.

Merci encore.

Vers l'infini et au delà... [Q]
0
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006
6 oct. 2006 à 16:57
Salut

J'ai été un peu long a tester tout ca.

Je te remercie, ca répond totalement a ma question. Je croyais que le suspend faisait faire un reset a mon thread. Il me reste plus qu a paufiner un peu ;)

Merci encore.

Vers l'infini et au delà... [Q]
0
Rejoignez-nous