Tu déclares ta fonction avec le prototype suivant:
unsigned int __stdcall ma_fonction( void * pv)
Et tu lui passes un pointeur de structure.
- Si ta fonction n'a rien à retourner qui dépasse la taille d'un int, tu peux allouer la structure avec malloc() avant de lancer le thread, et la détruire avec free() dans le thread créé, comme ça pas de problèmes de durée de vie.
- Si ta fonction doit retourner quelque chose de gros, alors elle doit passer par la structure. Ça veut dire que la durée de vie de la structure doit durer jusqu'à la fin du thread créé, et au-delà. Tu dois la gérer en conséquence.
Partager