#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
void *print_message_function(void* ptr);
int main() {
pthread_t thread1, thread2;
char *message1 = "Thread 1";
char *message2 = "Thread 2";
int iret1, iret2;
iret1 = pthread_create(&thread1, NULL, print_message_function, (void*) message1);
iret2 = pthread_create(&thread2, NULL, print_message_function, (void*) message2);
pthread_join( thread1, NULL);
printf("Thread 1 returns: %d\n",iret1);
pthread_join( thread2, NULL);
printf("Thread 2 returns: %d\n",iret2);
exit(0);
}
void *print_message_function(void *ptr) {
char *message = (char *) ptr;
int i;
for(i = 0; i < 5; i++) {
printf("[%i]: %s \n", i, message);
usleep(1000 * 100);
}
return NULL;
}