2. What is the output displayed by the program below?
int i= 42;
void *thread (void *param) {
printf("%d\n",i);
pthread_exit(42);
}
void *thread2 (void *vargp) {
i = 31;
}
int main(){
pthread_t tid, tid2;
pthread_create(&tid2, NULL, thread2, NULL);
pthread_create(&tid, NULL, thread, NULL);
pthread_join (tid, (void**) &i);
pthread_join (tid2, NULL);
printf("%d\n",i);
return 0;
}