Professional Documents
Culture Documents
Roll No.s104179
Code-
#include<stdio.h>
#include<time.h>
#include<pthread.h>
void *producer();
void *consumer();
int buf[50];
int count,cnt;
pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;
int main()
pthread_t prod,cons;
pthread_create(&prod,NULL,producer,NULL);
pthread_create(&cons,NULL,consumer,NULL);
pthread_join(prod,NULL);
pthread_join(cons,NULL);
return(0);
void *producer()
int i;
for(i=1;i<10;i++)
{
pthread_mutex_lock(&mutex);buf[count]=i;
count++;
pthread_mutex_unlock(&mutex);
sleep(1);
///////dgggdg
void *consumer()
int j;
for(j=1;j<10;j++)
pthread_mutex_lock(&mutex);
if(count!=0)
buf[cnt]=j;
pthread_mutex_unlock(&mutex);
sleep(2);
}
Output:-
sanket@linuxmint ~ $ cc ptoc.c
sanket@linuxmint ~ $ ./a.out