/**************************************************************** * Chatzidimitriou Athanasios 050064 * * Askisi 2 * * Compile : gcc -pedantic -lpthread -Wall ask2.c -o ask2 * ****************************************************************/ #include #include #include #include /*sleep() definition */ #include void *thread_function(void*); int main(void) { int i, thrcount; pthread_t *thr; printf("Number of threads: "); scanf("%d",&thrcount); thr = (pthread_t*)malloc(thrcount*sizeof(pthread_t)); for (i = 0; i < thrcount; i++) pthread_create(&thr[i],NULL,thread_function,(void*)(i+1)); for (i = 0; i < thrcount; i++) pthread_join(thr[i],NULL); return EXIT_SUCCESS; } void *thread_function(void *arg) { int i, num; num = (int)arg; for (i = 1; i <= num; i++) printf("Hello from thread %d\n",num); sleep(num); pthread_exit(NULL); }