Producer consumer
Sat Mar 22 2025 07:44:52 GMT+0000 (Coordinated Universal Time)
Saved by
@Sahithi
#include <stdio.h>
#include <stdlib.h>
int full = 0, empty = 3, x = 0;
void producer();
void consumer();
int wait(int);
int signal(int);
int main() {
int n;
printf("1. PRODUCER\n2. CONSUMER\n3. EXIT\n");
while (1) {
printf("ENTER YOUR CHOICE\n");
scanf("%d", &n);
switch (n) {
case 1:
if (empty != 0)
producer();
else
printf("BUFFER IS FULL\n");
break;
case 2:
if (full != 0)
consumer();
else
printf("BUFFER IS EMPTY\n");
break;
case 3:
exit(0);
break;
}
}
}
int wait(int s) {
return (--s);
}
int signal(int s) {
return (++s);
}
void producer() {
full = signal(full);
empty = wait(empty);
x++;
printf("In Producer: Produces the item %d\n", x);
}
void consumer() {
full = wait(full);
empty = signal(empty);
printf("In Consumer: Consumes item %d\n", x);
x--;
}
content_copyCOPY
Comments