O Histograma Genérico
Por: João Alves • 11/10/2020 • Trabalho acadêmico • 444 Palavras (2 Páginas) • 392 Visualizações
#include<stdio.h>
#include<stdlib.h>
int mutex=1,cheio=0,vazio=3,x=0;
int main()
{
int n; //variavel para o switch case
void produtor();
void consumidor();
int wait(int);
int signal(int);
printf("\n1.Produtor\n2.Consumidor\n3.Sair");
while(1)
{
printf("\nEscolha uma opcao:");
scanf("%d",&n);
switch(n)
{
case 1: if((mutex==1)&&(vazio!=0))
produtor();
else
printf("Buffer esta cheio!");
break;
case 2: if((mutex==1)&&(cheio!=0))
consumidor();
else
printf("Buffer esta vazio!");
break;
case 3:
exit(0);
break;
}
}
return 0;
}
int wait(int s)//decrementa
{
return (--s);
}
int signal(int s)//incrementa
{
return(++s);
}
void produtor()
{
mutex=wait(mutex);
cheio=signal(cheio);
vazio=wait(vazio);
x++;
printf("\nProdutor produz o item %d",x);
mutex=signal(mutex);
}
void consumidor()
{
mutex=wait(mutex);
cheio=wait(cheio);
...