Explicación detallada del uso del hilo Pthread
El texto primero explica la función, luego recorre el ejemplo y algunos comentarios.
Para la función pthread_create, utilice man 3 pthread_create para ver la introducción.
Descripción de la función:
El nuevo hilo creado por pthread_create tiene cuatro formas de salir del hilo:
El parámetro attr es una estructura pthread_attr_t, que se usa cuando creando un nuevo hilo. Establezca sus propiedades al enhebrar. Esta estructura se inicializa mediante la función pthread_attr_init(). Si este parámetro está vacío, el nuevo hilo utilizará los parámetros de atributo predeterminados.
Antes de que regrese la llamada a la función pthread_create, se asigna un puntero a la memoria del nuevo hilo al parámetro del hilo, que representa el ID del hilo, de modo que se puedan llamar otros pthreads para ese hilo más adelante.
Valor de retorno
Devuelve 0 en caso de éxito, un código de error en caso de error y no se asignan parámetros de subproceso.
Descripción de la función
La función pthread_join espera a que finalice el hilo especificado. Si el hilo especificado ha sido enhebrado, regresa inmediatamente. El hilo especificado debe poder unirse. En otras palabras, la función pthread_join() bloquea el subproceso que llama hasta que finaliza el tid del subproceso especificado. Cuando pthread_join() regresa, la aplicación puede reclamar cualquier almacenamiento de datos asociado con el subproceso terminado (alternativamente, el atributo attr del subproceso se puede configurar para que los recursos se recuperen cuando el subproceso finalice). Si no necesita esperar a que finalice un subproceso específico antes de realizar otro procesamiento, debe desconectar el subproceso mediante pthread_detach().
Si retval no es nulo, la función copiará el valor del estado de salida a la memoria señalada por retval. Si el hilo de destino se cancela, el valor de la memoria es PTHREAD_CANCELED
Valor de retorno.
Devuelve 0 en caso de éxito y 0 en caso de error.