作業系統 吃水果放水果問題 PV操作

2021-10-13 02:57:55 字數 638 閱讀 5730

問題描述:

桌子上有乙隻盤子,每次只能向其中放入乙個水果。爸爸專向盤子中放蘋果,媽媽專向盤子中放 橘子,兒子專等著吃盤子中的橘子,女兒專等著吃盤子中的蘋果。只有盤子空時,爸爸或媽媽才 可向盤子中放乙個水果。僅當盤子中有自己需要的水果時,兒子或女兒可以從盤子中取出水果。 用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操作實現四人正確活動的程式。解 四人之間的關...