哲學(xué)家就餐問題解決方案_哲學(xué)家就餐問題
(相關(guān)資料圖)
1、兩個地方應(yīng)該是pv操作,pv都是操作元語,不可中斷p操作是將信號量-1v操作是將信號量+1pv一定要配對使用哲學(xué)家進(jìn)餐可以通過信號量機(jī)制解決。
2、避免死鎖注釋如下:Void test(int i) //測試哲學(xué)家i是否滿足eating條件{ if(state[i]==HUNGRY) //狀態(tài)為hungry且左右均未在eating狀態(tài),即筷子空閑 && (state[(i-1)%5]!=EATING) &&(state[(i+1)%5]!=EATING) { state[i]=EATING; //設(shè)置哲學(xué)家i的狀態(tài)標(biāo)志為eating V(&s[i]);(不懂,什么意思) //s[i]初始化為0。
3、表示能否eating的信號量,V之后s[i]=1,可以 } //通過P操作后進(jìn)入eating。
4、否則在P(s[i])處阻塞}state[i]=THINKING; //初始化狀態(tài)位s[i]=0; //初始化s[i] 信號量Void philosopher(int i){ while (true) { 思考; P(mutex);(還有這個地方也不太懂) //對mutex進(jìn)行P操作,即加鎖,防止過 //多進(jìn)程同時執(zhí)行造成死鎖 state[i]=HUNGRY; //設(shè)置i狀態(tài) test (i); //測試是否可以進(jìn)eating。
5、如可以,設(shè)置 //相應(yīng)標(biāo)志位和信號量 V(mutex); //釋放信號量,其它進(jìn)程可執(zhí)行P(mutex) P(s[i]); //測試是否可以eating //以下為哲學(xué)家i的eating過程 拿左筷子; 拿右筷子; 進(jìn)食; 放右筷子; 放左筷子;} P(mutex); //對mutex加鎖。
6、防止多個進(jìn)程同時對state[i]操作 state[i]=THINKING; //設(shè)置i狀態(tài) test([i-1]%5); //為左邊和右邊測試并設(shè)置s狀態(tài) test([i+1]%5); V(mutex); //釋放信號量}。
本文就為大家分享到這里,希望小伙伴們會喜歡。
標(biāo)簽:
頭條精選
- 哲學(xué)家就餐問題解決方案_哲學(xué)家就餐問題2023-06-09
- 即時焦點(diǎn):遼寧省葫蘆島市2023-06-06 21:12023-06-09
- 云南省臨滄市2023-06-06 21:03發(fā)布雷電黃2023-06-09
- 世界看點(diǎn):黃金時代迅雷下載1080(黃金時代2023-06-09
- favorite subject(favorite)2023-06-09
- 女子公交上強(qiáng)行前門下車:按下“應(yīng)急按鈕”2023-06-09
- 消弧消諧柜作用_什么是消弧柜_每日動態(tài)2023-06-09
- 秀發(fā)照片_秀發(fā) 每日快看2023-06-09
- 壞笑的表情圖片(壞笑)_全球微資訊2023-06-09
- 間腦中腦端腦腦的結(jié)構(gòu)圖(腦的結(jié)構(gòu)圖)2023-06-09
- 網(wǎng)絡(luò)推廣方法大全(網(wǎng)絡(luò)推廣方法)2023-06-09
- 飲食店用什么名字好_飲食店起什么名字好3002023-06-09
- 5寸等于多少厘米照片多大_5寸等于多少厘米.2023-06-09
- 恭喜梅西,鐵兄弟官宣加盟!兩巨星聯(lián)手降維2023-06-09
- 今日足壇三大消息!曼城國米已到!成都破紀(jì)2023-06-09
- 恐怖m(xù)omo事件(momo事件)-世界熱點(diǎn)2023-06-09
- 今日觀點(diǎn)!結(jié)拜誓言五人(結(jié)拜誓言)2023-06-09
- 北京五星級酒店哪家蛋糕好吃_北京五星級酒2023-06-09
- 全球即時看!favorite subject(favorite)2023-06-09
- 70歲老人應(yīng)該叫什么(老人70歲稱什么) 世2023-06-09
- 當(dāng)前報(bào)道:后進(jìn)生會議講話稿(后進(jìn)生)2023-06-09
- 匯頂科技:6月8日融資買入961.56萬元,融資2023-06-09
- 新泉股份:6月8日融資凈買入383.69萬元,連2023-06-09
- 崩壞星穹鐵道銀狼物理擊破隊(duì)怎么培養(yǎng)|環(huán)球2023-06-09
- 環(huán)球速讀:云頂之弈S9冰凍射手陣容怎么搭配2023-06-09
- 天天速看:虎娘日報(bào):設(shè)計(jì)師透露澤麗改動 2023-06-09
- 璞泰來(603659):6月8日北向資金增持156.2023-06-09
- 焦點(diǎn)短訊!百勝電子發(fā)票平臺官網(wǎng)(百勝電子2023-06-09
- 斯柯達(dá)晶銳1.4發(fā)動機(jī)正時鏈條怎樣安裝圖解2023-06-09
- 任天堂游戲機(jī)switch_任天堂switch怎么下載游戲2023-06-09