問題描述:
桌子上有乙隻盤子,每次只能向其中放入乙個水果。爸爸專向盤子中放蘋果,媽媽專向盤子中放 橘子,兒子專等著吃盤子中的橘子,女兒專等著吃盤子中的蘋果。只有盤子空時,爸爸或媽媽才 可向盤子中放乙個水果。僅當盤子中有自己需要的水果時,兒子或女兒可以從盤子中取出水果。 用pv操作實現上述過程。
問題分析:
桌子上有乙隻盤子,每次只能向其中放入乙個水果。爸爸專向盤子中放蘋果,媽媽專向盤子中放橘子,兒子專等著吃盤子中的橘子,女兒專等著吃盤子中的蘋果。只有盤子空時,爸爸或媽媽才可向盤子中放乙個水果。僅當盤子中有自己需要的水果時,兒子或女兒可以從盤子中取出水果。
同步關係(一前一後):
母親將橘子放入盤子後,兒子才能取橘子,設橘子數為orange,初始值為0
只有盤子為空時,父親或母親才能放入水果,設盤子中水果數為plate,初始值為0
pv操作解答:
semaphore plate=
1;//盤子還可以放多少個水果
semaphore orange=
0;//盤子中橘子的數量0;
//盤子中蘋果的數量
dad()}
mom()}
son()}
daughter()
}
PV操作經典例題 吃水果
例1 桌上有乙個盤子,每次只能放乙個水果,媽媽向盤中放蘋果和橘子,兒子專等吃盤裡的橘子,女兒專等吃盤裡的蘋果。只要盤子空,媽媽可向盤中放水果,僅當盤中有自己需要的水果時,兒子或女兒可從中取出,請給出他們三人之間的同步關係,並用pv操作實現三人正確活動的程式。void mother void daug...
用pv操作實現 吃水果問題(C 語言)
功能 實現吃水果問題 題目內容 桌子有乙隻盤子,只允許放乙個水果,父親專向盤子放蘋果,母親專向盤子放桔子 兒子專等吃盤子的桔子,女兒專等吃盤子的蘋果。只要盤子為空,父親或母親就可以向盤子放水果,僅當盤子有自己需要的水果時,兒子和女兒可從盤子取出。請給出四個人之間的同步關係,並用 pv操作實現四個人的...
多執行緒練習 吃水果問題
n問題描述 桌上有乙隻盤子,每次只能放乙個水果,爸爸專向盤中放蘋果,媽媽專向盤中放桔子,兒子專等吃盤裡的桔子,女兒專等吃盤裡的蘋果。只要盤子空,則爸爸或媽媽可向盤中放水果,僅當盤中有自己需要的水果時,兒子或女兒可從中取出,請給出四人之間的同步關係,並用pv操作實現四人正確活動的程式。解 四人之間的關...