pthread_create creará un hilo mediante llamadas del sistema operativo. Lo maravilloso de la abstracción es que realmente no necesitas preocuparte por lo que sucede a continuación. Establecerá el subproceso variable igual a un identificador que se puede utilizar para hacer referencia a ese subproceso. Por ejemplo, si tiene varios hilos y desea cancelar una de ellas acaba de llamar
pthread_cancel (rosca)
utilizando el identificador pthread_t derecho a especificar el hilo que le interesa.
¿Qué sucede con el hilo una vez que se ha unido al hilo principal y termina el ?
Antes de que termine el hilo, el hilo var sirve como clave/índice para obtener o identificar un hilo. Una vez que el hilo finaliza, el valor al que apuntaba la clave/índice ya no tiene que ser válido. Puede mantenerlo e intentar reutilizarlo, pero es casi seguro que cause errores.
¿Qué pasa si, después de hilo se ha unido, que hace esto:
pthread_create(&thread, NULL, another_function, NULL);
No hay problema, ya que se le da una referencia para enhebrar el valor del hilo se ajustará a un identificador para el nuevo hilo que acaba de hacer. Sospecho que es posible que pueda ser el mismo que antes, pero no contaría con eso.
Estoy siendo votado ... ¿por qué? Es una pregunta específica sobre programación. –
+1, siempre es bueno saber sobre los detalles de implementación. –
Lo bueno de la fuente abierta es que la fuente está abierta. Siempre puedes descargar el código fuente de pthread y verificarlo. – mfontanini