exercise 6.11_吴霏 Version 0 |
|
👤 Author: by wufei123 2015-11-04 11:07:57 |
#include<stdio.h>
int waiting =0;
int chairs=n;
boolean wakeup=false;
boolean sleep=false;
semarphore customers=0,baber=1,mutex=1;
void barber()
{
while(true)
{
wait(customers);
wait(mutex);
waiting--;
signal(mutex);
signal(barber);
}
}
void customer()
{
do{
wait(mutex);
if(waiting==0)
{
sleep=true;
wakeup=true;
signal(mutex);
}
else if(waiting<n)
{
waiting++;
signal(mutex);
signal(cus