Untitled

 avatar
unknown
plain_text
a month ago
841 B
4
Indexable
Finclude<stdio.h>

int mutex-1, full-e, empty-3,x=0;

main()

(

int n;

void producer();

void consumer();

int wait(int);

int signal(int);

printf("\n1.PRODUCER\n2.CONSUMER\n3.EXIT\n");

while(1) {

printf("\nENTER YOUR CHOICE\n");

scanf("%d",&n);

switch(n)

(case 1:

if((mutex==1)&&(empty!=0))

producer();

else

printf("BUFFER IS FULL");

break;

case 2:

if((mutex-1)88(full!=0))

consumer();

printf("BUFFER IS EMPTY");

break;

else

case 3:

return 0;

break;

int wait(int s) (

return(-s); }

int signal(int s) (

return(++s); }

void producer() (

mutex wait(mutex);

full-signal(full);

empty wait(empty);

x++;

printf("\nproducer produces the itemid",x);

mutex signal(mutex); }

void consumer() {

mutex wait(mutex);

full wait(full);

empty signal(empty);

printf("\n consumer consumes itemid",x);

mutex-signal(mutex);)
Leave a Comment