版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗報告*口T專業(yè)網(wǎng)絡(luò)工程班級08102班 學(xué)號01號姓名胡雙雙課程名稱操作系統(tǒng)學(xué)年2010-2011學(xué)期下課程類別專業(yè)必修限選任選實踐口實驗時間2010年11月3日實驗名稱實驗一:生產(chǎn)者與消費者問題實驗?zāi)康暮鸵笕胬斫馍a(chǎn)者與消費者問題模型,掌握解決該問題的算法思想,正確使用同步機(jī)制。實驗軟硬件要求Pentium(R) Dual-Core CPU 1.96G 內(nèi)存WINDOWS XP ProfessionalVisual C+6.0實驗內(nèi)容、方法和步驟(可附頁)問題描述:一組生產(chǎn)者向一組消費者提供商品,共享一個有界緩沖池,生產(chǎn)者向其中放入商品,消費者從中 取得商品。假定這些生產(chǎn)者和消費者互
2、相等效,只要緩沖池未滿,生產(chǎn)者可將商品送入緩沖池;只要緩沖池未空, 消費者可從緩沖池取走一商品。功能要求:根據(jù)進(jìn)程同步機(jī)制,編寫一個解決上述問題的程序,可顯示緩沖池狀態(tài)、放商品、取商品等過程。具體參數(shù):有1個生產(chǎn)者進(jìn)程;有1個消費者進(jìn)程;緩沖區(qū)單元個數(shù)BUFFER_NUM =5;不同的生產(chǎn)進(jìn)程可生產(chǎn)不同的產(chǎn)品,自己可任意定義,在本程序中是直接將相應(yīng)生產(chǎn)者代號放入緩沖區(qū),消 費時將某消費者消費某生產(chǎn)者的信息顯示出來 實驗結(jié)果:見截圖小結(jié)從此次試驗中,學(xué)到了很多關(guān)于編程的知識,以前對于編程的認(rèn)識只停留在一些簡單的算法上,并沒有系統(tǒng)的 進(jìn)行編程訓(xùn)練。此次的試驗是以前從沒接觸過的多線程,中間涉及的同步
3、及互斥問題,在設(shè)計軟件及系統(tǒng)時,都是 極其重要的。多線程實驗對于我們現(xiàn)階段確實有點偏難,不過,在經(jīng)過請教同學(xué)及看參考書,終于自己寫出了一個相對于簡 單一點的生產(chǎn)者消費者的多線程程序。評定成績:批閱教師:年 月 日一、問題概述一組生產(chǎn)者向一組消費者提供消息,它們共享一個有界緩沖池,生產(chǎn)者向其中投放消息,消費者從中取得消息。只要緩沖池未滿,生產(chǎn)者可將消息送入緩沖池;只要緩沖池未空,消費者可從假定這些生產(chǎn)者和消費者互相等效,緩沖池取走一個消息。二、設(shè)計流程圖(1)生產(chǎn)者流程圖:(2)消費者流程圖三、數(shù)據(jù)定義# define BUFFER_NUM 5 / 緩沖區(qū)個數(shù)int mutexBUFFER_NU
4、M=0,0,0,0,0;int bufferBUFFER_NUM=0,0,0,0,0;/ 初始化緩沖區(qū)為空HANDLE g_hMutex; /用于線程間的互斥void show();函數(shù),顯示生產(chǎn)者及消費者過程DWORD WINAPI Producer(LPVOID lpPara);過程,生產(chǎn)者生產(chǎn)產(chǎn)品過程DWORD WINAPI Customer(LPVOID lpPara);/ 過程,消費者消費產(chǎn)品過程四、源程序#include#include# define BUFFER_NUM 5 / 緩沖區(qū)個數(shù)int mutexBUFFER_NUM=0,0,0,0,0; 一int bufferBUF
5、FER_NUM=0,0,0,0,0;/初始化緩沖區(qū)為空HANDLE g_hMutex; /用于線程間的互斥 void show。for(int i=0;iBUFFER_NUM;i+)printf(第d 個緩沖區(qū)為:dn”,i,bufferi);printf(nn);DWORD WINAPI Producer(LPVOID lpPara)while(true)for(int i=0;iBUFFER_NUM;i+)if(bufferi=0)if(mutexi=0)mutexi=1;/加 鎖WaitForSingleObject(g_hMutex,INFINITE);bufferi=1;printf
6、(生產(chǎn)出一個產(chǎn)品,已放入第d個緩沖區(qū)n,i);show();Sleep(1000);ReleaseMutex(g_hMutex);mutexi=0;/解鎖break;if(i=BUFFER_NUM)printf(緩沖區(qū)已滿,請等待/);/緩沖區(qū)已滿,請等待Sleep(1000);DWORD WINAPI Customer(LPVOID lpPara)while(true)for(int j=0;jBUFFER_NUM;j+)if(bufferj=1)if(mutexj=0)mutexj=1;/加 鎖WaitForSingleObject(g_hMutex,INFINITE);bufferj=0
7、;printf(”消費者已消費第d個緩沖區(qū)的產(chǎn)品n”,j);show();Sleep(1000);ReleaseMutex(g_hMutex);mutexj=0;/解鎖break;if(j=BUFFER NUM)printf(-沒有產(chǎn)品可消費,請等待/);/沒有產(chǎn)品可消費,請等待 Sleep(1000);int main(int argc,char* argv)HANDLE handle4;g_hMutex = CreateMutex(NULL,FALSE,NULL);for(int i=0;i2;i+)handlei=CreateThread(NULL,0,Producer,NULL,0,N
8、ULL);for(i=2;i11 11 11 11 11個緩沖區(qū)的產(chǎn)品 0 0 I I I一翳為為為為為一窘區(qū)區(qū)區(qū)區(qū)區(qū)一 &.:.甲,甲中中中 嘉瀉*紗個緩沖區(qū)的產(chǎn)品000II(3)空緩沖區(qū),無產(chǎn)品消費個緩沖區(qū)的產(chǎn)品1&餐為為為為為 齦區(qū)區(qū)區(qū)區(qū)區(qū) . .E!.甲.甲.甲.甲 -匚爰爰蓼備境 SB個緩沖區(qū)的產(chǎn)品3&3Bjl-.甘.甘.甘.甘. 區(qū)區(qū)區(qū)區(qū)區(qū) 密m.m.m.m.m. _|11 11 11 11 11 一匚爰爰爰爰爰 +-aua土au . -0 1A 2 T 4 逍密直廣品可浦落 譚蜀括有產(chǎn)品苛常聶 請鷺4(4)緩沖區(qū)已滿,等待己放入第2個緩沖區(qū)01111匚口 燈=.燈=.燈=.燈=.燈= qj區(qū)區(qū)區(qū)區(qū)區(qū) 占 口 口 口 口 %
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 女性如何預(yù)防肺癌
- 2024版長期租車協(xié)議規(guī)范格式文件版
- 2024版精裝房改造合同樣本3篇
- 必殺04 世界古代史材料題20題(原卷版)
- 2024施工現(xiàn)場環(huán)境保護(hù)協(xié)議書范例
- 2024年藝術(shù)品展覽館租賃合同
- 第四單元 第1、2課時可能性(說課稿)-2024-2025學(xué)年五年級上冊數(shù)學(xué)人教版
- 2024版人防設(shè)備安裝協(xié)議樣本版
- ?;袠I(yè)特種作業(yè)培訓(xùn)
- A4數(shù)字教育資源管理作業(yè)
- 全麻病人蘇醒期躁動的原因及處理課件
- 2024全新誠信考試課件
- 2024年大學(xué)生心理健康教育考試題庫及答案(含各題型)
- 《全腦速讀記憶講座》課件
- 上海市產(chǎn)業(yè)園區(qū)規(guī)劃及招商引資策略研究報告目錄
- 小兒預(yù)防接種過敏性休克
- 未足月胎膜早破查房
- 人工智能在體育訓(xùn)練與競技分析中的應(yīng)用
- 年產(chǎn)30萬噸高鈦渣生產(chǎn)線技改擴(kuò)建項目環(huán)評報告公示
- 07221美術(shù)設(shè)計與創(chuàng)意
- 2024版幼兒園哲學(xué)思考與人生觀主題班會課件
評論
0/150
提交評論