La fonction beginthread crée un nouveau thread d'exécution au sein du processus en cours. Elle fait partie de la bibliothèque d'exécution Microsoft Windows et est déclarée dans le fichier d'en-tête process.h .
Prototype
unsigned long _beginthread ( void ( * Func )( void * ), unsigned Stack_size , void * Arg );
Fonction
L'exécution du thread commence au début de la fonction func. Pour terminer le thread correctement, funcil faut appeler _endthreadou terminer avec « return 0 », libérant ainsi la mémoire allouée par la bibliothèque d'exécution pour prendre en charge le thread.
Taille de la pile
Le système d'exploitation alloue une pile au thread contenant le nombre d'octets spécifié par stack_size. Si la valeur de stack_sizeest zéro, le système d'exploitation crée une pile de la même taille que celle du thread principal.
Arg
Le système d'exploitation passe Arg à Func lorsque l'exécution commence. Argpeut être n'importe quelle valeur 32 bits convertie en void*.
Valeur de retour
Renvoie le handle du système d'exploitation du thread nouvellement créé. En cas d'échec, la fonction renvoie −1 et définit errno .
Commutateurs du compilateur
Pour compiler un programme à l’aide de plusieurs threads avec le compilateur Microsoft C/C++, vous devez spécifier le commutateur /MT (ou /MTd , pour les programmes de débogage).