blueburry
Messages postés50Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention22 mai 2006
-
20 juil. 2005 à 15:08
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
20 juil. 2005 à 20:15
Bonjour a tous,
je voudrais savoir comment on peut programmer un thread en visual C++.
Je sais par exemple k'en java il faut implementer l'interface Runnable et definir la fonction run(). En visual C++ ke dois-je faire pour dire qu'une classe est un thread?
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 20 juil. 2005 à 16:23
Il faut declarer une fonction dans le meme genre. Si tu fait sa avec des api win32, il faut rajouter DWORD WINAPI nom_de_fonction ( LPVOID param), creer un handle pour ton thread, un id et le lancer avec la fonction CreateThread.
Petit exemple :
tu veux qu'une fonction qui s'appelle fCoucou soit un thread :
// declaration des identifiants pour ton thread
HANDLE Thread_fCoucou;
DWORD ID_fCoucou;
// prototype de la fonction
DWORD WINAPI fCoucou (LPVOID param);
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 juil. 2005 à 20:15
Attention aux classes avec les APIs:
le runtime C ne sera pas au courant, donc aucune gestion aautomatique.
TerminateThread fermera le thread sans appeler de destructeur.
Fuites mémoire à prévoir.
Il convient d'utiliser _beginthreadex() pour parer à tous ces désagréments.