#include<stdio.h>
#include<pthread.h>
pthread_mutex_t mutex;
int val;
void* Fun(void *arg)
{
int i=0,temp=0;
while(i<50000)
{
pthread_mutex_lock(&mutex);
temp=val;
temp++;
val=temp;
pthread_mutex_unlock(&mutex);
i++;
}
}
int main()
{
pthread_mutex_init(&mutex,NULL);
pthread_t phid1,phid2,phid3;
pthread_create(&phid1,NULL,Fun,NULL);
pthread_create(&phid2,NULL,Fun,NULL);
pthread_create(&phid3,NULL,Fun,NULL);
pthread_join(phid1,NULL);
pthread_join(phid2,NULL);
pthread_join(phid3,NULL);
printf("val=%d\n",val);
pthread_mutex_destroy(&mutex);
}