/*CSEMATTER.BLOGSPOT.IN
C Program to implement reader writer problem*/
#include<stdio.h>
#include<conio.h>
int ch,write=0,readcount=0;
int main()
{
void writerin();
void writerout();
void readerin();
void readerout();
do
{
printf("\n\t\tCHOICES\n\t\t\n\t1 Writer in\n\t2 Writer out\n\t3.Reader in");
printf("\n\t3..Reader out\n\t5.exit\nEnter your choice :\n ");
scanf("%d",&ch);
switch(ch)
{
case 1:
{
writerin();
}
case 2:
{
writerout();
}
case3:
{
readerin();
}
case4:
{readerout();
}
case 5:
break;
}
}
while(ch!=5);
getch();
}
void readerout()
{
if(write==1 && readcount>0)
{
readcount--;
}
else if(write==1 && readcount==0)
{
write=0;
}
else
printf("no reader is reading");
}
void readerin()
{
if(write==0 && readcount==0)
{
readcount++;
write=1;
}
else if(write==1 && readcount>0)
{
readcount++;
}
else
{
printf("writer is writing");
}
}
void writerin()
{
if(readcount==0)
{
write=1;
printf("writer is writing\n");
}
else
{
printf("%d reader are reading..wait for finish\n",readcount);
}
}
void writerout()
{
if(write==1)
{
write=0;
printf("writer is exiting\n");
}
else
{
printf("no writer is writing\n");}
}
}
C Program to implement reader writer problem*/
#include<stdio.h>
#include<conio.h>
int ch,write=0,readcount=0;
int main()
{
void writerin();
void writerout();
void readerin();
void readerout();
do
{
printf("\n\t\tCHOICES\n\t\t\n\t1 Writer in\n\t2 Writer out\n\t3.Reader in");
printf("\n\t3..Reader out\n\t5.exit\nEnter your choice :\n ");
scanf("%d",&ch);
switch(ch)
{
case 1:
{
writerin();
}
case 2:
{
writerout();
}
case3:
{
readerin();
}
case4:
{readerout();
}
case 5:
break;
}
}
while(ch!=5);
getch();
}
void readerout()
{
if(write==1 && readcount>0)
{
readcount--;
}
else if(write==1 && readcount==0)
{
write=0;
}
else
printf("no reader is reading");
}
void readerin()
{
if(write==0 && readcount==0)
{
readcount++;
write=1;
}
else if(write==1 && readcount>0)
{
readcount++;
}
else
{
printf("writer is writing");
}
}
void writerin()
{
if(readcount==0)
{
write=1;
printf("writer is writing\n");
}
else
{
printf("%d reader are reading..wait for finish\n",readcount);
}
}
void writerout()
{
if(write==1)
{
write=0;
printf("writer is exiting\n");
}
else
{
printf("no writer is writing\n");}
}
}
No comments:
Post a Comment