int S=1; //S 表示盘子是否为空;
int Sa=0; //Sa表示盘中是否有苹果;
int Sb=0; //Sb表示盘中是否有桔子;
父亲
while(TRUE)
{
Wait(S);
将水果放入盘中
;
if (
放入的是桔子
)
Signal(Sb);
Else
Signal(Sa);
}
儿子
while(TRUE)
{
Wait(Sb);
从盘中取出桔子;
Signal(S);
吃桔子
;
}
女儿
while(TRUE)
{
Wait(Sa);
从盘中取出苹果;
Signal(S);
吃苹果
;
}