La función beginthread crea un nuevo hilo de ejecución dentro del proceso actual. Es parte de la biblioteca en tiempo de ejecución de Microsoft Windows y se declara en el archivo de encabezado process.h .
Prototipo
unsigned long _beginthread ( void ( * Func ) ( void * ), unsigned Stack_size , void * Arg );
Func
La ejecución del hilo comienza al principio de la función func
. Para terminar el hilo correctamente, func
debe llamar _endthread
o terminar con "return 0", liberando memoria asignada por la biblioteca de tiempo de ejecución para soportar el hilo.
Tamaño de la pila
El sistema operativo asigna una pila para el subproceso que contiene el número de bytes especificado por stack_size
. Si el valor de stack_size
es cero, el sistema operativo crea una pila del mismo tamaño que la del subproceso principal. [1]
Arg
El sistema operativo pasa Arg a Func cuando comienza la ejecución. Arg
puede ser cualquier valor de 32 bits convertido a void *.
Valor devuelto
Devuelve el identificador del sistema operativo del subproceso recién creado. Si no tiene éxito, la función devuelve -1 y establece errno .
Modificadores del compilador
Para compilar un programa utilizando varios subprocesos con el compilador de Microsoft C / C ++, debe especificar el modificador / MT (o / MTd, para los programas de depuración).