#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#define NUMBER_OF_THREADS 10

void * printHelloWorld(void *tid)
{  long id = (long)tid;
   /* Esta funcao imprime o identificador do thread e sai. */
   printf("Ola mundo. Boas vindas do thread %ld\n",id);
   pthread_exit(NULL);
}
int main(int argc, char * argv[ ])
{
   /* O programa principal cria 10 threads e sai. */
   pthread_t threads[NUMBER_OF_THREADS];
   int status, i;
   for(i=0; i < NUMBER_OF_THREADS; i++) {
      printf("Metodo Main. Criando thread %d\n", i);
      status = pthread_create(&threads[i], NULL, printHelloWorld, (void *)i);
      if (status != 0) {
         printf("Oops. pthread create returned error code %d\n", status);
         exit(1);
      }
   }
   exit(0);
}
