help needed here...
why it never reach the second thread?
=============================================
#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
void fireInTheHole(void);
static int accnt1, accnt2;
int main(){
accnt1=0;
accnt2=0;
pthread_t thread1, thread2;
pthread_create(&thread1, NULL, (void*)fireInTheHole, NULL);
pthread_create(&thread2, NULL, (void*)fireInTheHole, NULL);
printf("Thread join\n:");
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
return 0;
}
void fireInTheHole(){
int counter = 0;
int tmp1, tmp2, r;
do {
tmp1 = accnt1;
tmp2 = accnt2;
r = rand();
accnt1 = tmp1 + r;
accnt2 = tmp2 - r;
counter ++;
} while (accnt1 + accnt2 == 0);
printf("Stopped w/ counter value: %d\n", counter);
printf("accnt1 = %d\naccnt2 = %d\n", accnt1,accnt2);
}
=============================================
|