Hilos en C con pthread

Esta vez les compartiré un poco el funcionamiento básico de los hilos en POSIX (caso particular de GNU/ Linux), pasando de la teoría a la práctica. Una buena referencia de qué es lo que estoy usando en este código es la liga de pthread.

#include
#include
#include

#define NUMERO_DE_HILOS 10

void *imprimir_hola_mundo(void *tid)
{
    /*Imprime el identificador del hilo y termina*/
    printf("Hola mundo. Soy el hilo %d0\n", tid);
    pthread_exit(NULL);
}

int main(int argc, char *argv[]) {

    /*Se crean diez hilos*/
    pthread_t hilos[NUMERO_DE_HILOS];
    int estado, i;
    for(i=0; i< NUMERO_DE_HILOS; i++) {
        printf("Creando hilos en main %d0\n", i);
        estado = pthread_create(&hilos[i], NULL, imprimir_hola_mundo, (void *)i);
        if (estado != 0) {
            printf("Ocurrio un error %d0\n", estado);
            exit(-1);
            }
    }
}
Para compilarlo:

$gcc -pthread archivo.c

Y se jecuta el archivo de salida (a.out)

Comentarios

Entradas populares