/******************************************************************************
* FILE: hello.c
* DESCRIPTION:
*   A "hello world" Pthreads program.  Demonstrates thread creation and
*   termination.
* AUTHOR: Blaise Barney
* LAST REVISED: 04/05/05
* LAST MODIF : D. Dupont 31/10/05 ajout de Behavior
******************************************************************************/
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#define NUM_THREADS	5
// donner les valeurs 0,1 puis 2 pour faire évoluer le comportement de l'application
#define BEHAVIOR 2

void *PrintHello(void *threadid)
{
// modif du comportement  
   if (BEHAVIOR==2){
      sleep(20);
   }
   printf("\n%d: Hello World!\n", threadid);  
   pthread_exit(NULL);

}

int main(int argc, char *argv[])
{
pthread_t threads[NUM_THREADS];
int rc, t;
for(t=0;t<NUM_THREADS;t++){
  printf("Creating thread %d\n", t);
  rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
  if (rc){
    printf("ERROR; return code from pthread_create() is %d\n", rc);
    exit(-1);
    }
// modif du comportement
   if (BEHAVIOR==1 || BEHAVIOR==2){
      sleep(1);
   }
  }
system("pause");
pthread_exit(NULL);

}
