Mostrando el índice del hilo y número de hilos

Completar el siguiente programa para que cada hilo muestre un mensaje con su índice de hilo:

#include <stdio.h>
#include <omp.h>

int main() {
    int ihilo;

    printf("Hola mundo.\n");

    return 0;
}

Solución:

Sustituimos la línea 7 por el siguiente fragmento de código:

    #pragma omp parallel private(ihilo)
    {
        ihilo = omp_get_thread_num();
        printf("Hola mundo. Soy el hilo %d\n",ihilo);
    }

Completar el siguiente programa para que muestre un mensaje con el número de hilos con que se ejecuta:

#include <stdio.h>
#include <omp.h>

int main() {
    int numhilos;

    numhilos=...;
    printf("Programa ejecutado con %d hilos\n",numhilos);

    return 0;
}

Solución:

Sustituimos la línea 7 por las siguientes líneas:

    #pragma omp parallel
    numhilos=omp_get_num_threads();

Observa que el printf siguiente ya está fuera de la región paralela, por lo que solo se mostrará un mensaje.