freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

課程設(shè)計(jì)哲學(xué)家就餐問(wèn)題(編輯修改稿)

2025-02-06 10:57 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 時(shí),可以發(fā)生這種狀態(tài)改變。此狀態(tài)改變發(fā)生后,哲學(xué)家拿起左右手兩邊的餐具。 “進(jìn)餐” “思考”:此狀態(tài)改變發(fā)生后,哲學(xué)家放下左右手上的餐具。餐具狀態(tài)由“使用中”轉(zhuǎn)變?yōu)椤翱臻e”。 “思考” “等待”:哲學(xué)家思考結(jié)束后,無(wú)條件轉(zhuǎn)入等待狀態(tài)。 由上所述,程序中應(yīng)設(shè)置 6 個(gè)元素的信號(hào)量數(shù)組, tools[6],用來(lái)保持哲學(xué)家之間的同步。 臨界區(qū)互斥編程原理 不論是硬件臨界資源,還是軟件臨界資源,多個(gè)進(jìn)程必須互斥地對(duì)它進(jìn)行訪問(wèn)。每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段代碼稱(chēng)為臨界區(qū)( Critical Section)。 每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段程序稱(chēng)為臨界區(qū)( Critical Section)(臨界資源是一次僅允許一個(gè)進(jìn)程使用的共享資源)。每次只準(zhǔn)許一個(gè)進(jìn)程進(jìn)入臨界區(qū), 4 進(jìn)入后不允許其他進(jìn)程進(jìn)入。不論是硬件臨界資源,還是軟件臨界資源,多個(gè)進(jìn)程必須互斥地對(duì)它進(jìn)行訪問(wèn)。 本程序主要使用了 EnterCriticalSection (amp。cs)和 LeaveCriticalSection (amp。cs)兩個(gè)函數(shù)實(shí)現(xiàn)臨界區(qū)互斥。 EnterCriticalSection (amp。cs)用來(lái)進(jìn)入臨界區(qū), LeaveCriticalSection (amp。cs)用來(lái)離開(kāi)臨界區(qū)。 開(kāi)發(fā)環(huán)境與工具 系統(tǒng)平臺(tái): WINDOW 環(huán)境 實(shí)現(xiàn)語(yǔ)言: C++ 開(kāi)發(fā)工具: VC++ 3 數(shù)據(jù)結(jié)構(gòu)與模塊說(shuō)明 數(shù)據(jù)結(jié)構(gòu) Philosopher number:int status:int +Philosopher(in num:int) +find() const:int +getinfo() const:int +Change():void 圖 31 哲學(xué)家類(lèi)的 UML 圖 程序中定義一個(gè)哲學(xué)家類(lèi),包含兩個(gè)私有對(duì)象和四個(gè)公有對(duì)象。 Number 對(duì)象:哲學(xué)家的編號(hào)。 Status 對(duì)象:用于保存當(dāng)前該哲學(xué)家的狀態(tài), 0 表示正在等待(即處于饑餓狀態(tài))1 表示得到餐具正在吃飯, 2 表示正在思考 5 Philosopher(int num)方法:哲學(xué)家類(lèi)構(gòu)造函數(shù),參數(shù) num 表示哲學(xué)家編號(hào) find() const 方法:返回該哲學(xué)家編號(hào) getinfo() const 方法:返回哲學(xué)家當(dāng)前狀態(tài) Change()方法:根據(jù)題目要求改變哲學(xué)家的狀態(tài)(等待 進(jìn)餐 思考 等待????) 另外,程序中包含一個(gè)公有對(duì)象, bool 類(lèi)型數(shù)組 tools[6],用來(lái)保存 6 把餐具當(dāng)前狀態(tài): true 表示該餐具當(dāng)前空閑, false 表示該餐具當(dāng)前正被使用。 程序中還包含兩個(gè)公有函數(shù): print 和 toolstatus。 Print 用來(lái)返回一個(gè)哲學(xué)家的狀態(tài), toolstatus 用來(lái)返回一個(gè)餐具的狀態(tài)。 6 程序 各 模塊 流程圖 主程序模塊 圖 32 主程序模塊流程圖 7 狀態(tài)改變模塊 圖 33 狀態(tài)改變模塊 Change()流程圖 8 返回哲學(xué)家狀態(tài)模塊 圖 34 返回哲學(xué)家狀態(tài)模塊 print()流程圖 9 返回餐具狀態(tài)模塊 圖 35 返回餐具狀態(tài)模塊 toolstatus(bool a)流程圖 10 4. 源程序代碼 //實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)實(shí)現(xiàn)哲學(xué)家進(jìn)餐問(wèn)題的同步深入了解和掌握進(jìn)程同步和互斥的原理。 //設(shè)計(jì)要求:哲學(xué)家有 N 個(gè),也定全體到達(dá)后開(kāi)始討論:在討論的間隙哲學(xué)家進(jìn)餐, //每人進(jìn)餐時(shí)都需使用刀、叉各一把,所有哲學(xué)家刀和叉
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1