Sleeping Barber Problem

prashantgolu

Solid State Member
Messages
15
Monitor PQR
{
enum{sleep,work} barber
int waiting =0;
condition x;
ENter()
{
if(barber==sleep)
barber=work
else if(waiting <n )
{

waiting++;
x.wait()
waiting--;
}
else
exit();
}

Leave()
{
if(waiting==0)
barber=sleep

else
x.signal();

}


tell me if anything is worng with this solution....?
Thanks...
 
Back
Top Bottom