桌上有一只盘子 每次只能放入一只水果。爸爸专向盘子中放苹果(apple) 妈妈专向盘子中放桔子(orang
已帮助 人
桌上有一只盘子,每次只能放入一只水果。爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),一个儿子专等吃盘子中的桔子,一个女儿专等吃盘子里的苹果。使用Hoare管程求解该问题。

回答
共1条回复-
Semaphore mutex=1; Semaphore apple=0;Semaphore orange=0; Semaphore empty=1;Father( ){Father( ){ while(1){ P(empty); P(mutex); 把苹果放入盘子里; V(mutex); V(apple); }}mothermother( ){ while(1){ P(empty); P(mutex); 把桔子放入盘子里; V(mutex); V(orange); }}
