




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)用文案實(shí)驗(yàn)內(nèi)容1、定義一個(gè)數(shù)據(jù)緩存buffer及用于實(shí)現(xiàn)同步互斥的信號量。2、定義一個(gè)讀者函數(shù):當(dāng)有寫者在占用buffer時(shí),讀者應(yīng)該等待,直到寫者不再使用該buffer。當(dāng)有其他讀者在占用buffer時(shí),讀者可對buffer進(jìn)行讀取操作。當(dāng)buffer中有數(shù)據(jù)時(shí),則從其中讀取一個(gè)數(shù)據(jù),并顯示然后退出。當(dāng)buffer中沒有數(shù)據(jù)時(shí),應(yīng)等待,直到buffer中有數(shù)據(jù)可讀。3、定義一個(gè)寫者函數(shù)當(dāng)有讀者在占用buffer時(shí),寫者應(yīng)該等待,直到所有的讀者都退出為止。當(dāng)有其他寫者占用buffer時(shí),該寫者應(yīng)該等待,直到占用buffer的寫者退出為止。當(dāng)buffer有空閑時(shí),寫者應(yīng)該在buffer中寫入一
2、個(gè)數(shù)據(jù)并退出。當(dāng)buffer滿時(shí),寫者應(yīng)該等待,直到buffer有空閑為止。4、定義主函數(shù),在其中可以任意創(chuàng)建讀者與寫者??筛鶕?jù)用戶輸入創(chuàng)建讀者或?qū)懻哌M(jìn)程(線程)。5、用戶界面.讀者:開始結(jié)束讀者隊(duì)列等待2i讀出的內(nèi)容:.寫者:開始結(jié)束寫出的內(nèi)容:Helloworld!結(jié)束實(shí)驗(yàn)當(dāng)堂所要完成事情列表:調(diào)試程序使其在讀者優(yōu)先模式下可以運(yùn)行并且能實(shí)現(xiàn)基本的功能得出正確的結(jié)果:能夠?qū)崿F(xiàn)讀寫互斥,寫寫互斥,讀讀不互斥,一個(gè)進(jìn)程結(jié)束能夠喚醒等待隊(duì)列中的進(jìn)程(先讀者隊(duì)列后寫著隊(duì)列)根據(jù)實(shí)驗(yàn)要求完善功能:由用戶決定寫者向緩沖區(qū)中寫入的內(nèi)容,讀者能夠讀出并顯示出來;當(dāng)緩沖區(qū)中沒有數(shù)據(jù)時(shí),讀者要等待,直到緩沖區(qū)中
3、有數(shù)據(jù)才能讀根據(jù)“讀者優(yōu)先”加以改變,增加一個(gè)“寫者優(yōu)先”模式,并且由用戶來選擇模式源代碼:正在讀的讀者數(shù)量寫者隊(duì)列中等待寫操作的寫者數(shù)量讀進(jìn)程號寫進(jìn)程號讀寫互斥信號量用戶選擇讀者優(yōu)先寫者優(yōu)先標(biāo)識空的信號量表示空讀者等待隊(duì)列寫者等待隊(duì)列初始化讀進(jìn)程讀操作當(dāng)前沒有讀進(jìn)程在讀可能有寫進(jìn)程在寫可能空閑如果空閑,讀者拿到相當(dāng)于一個(gè)操作將讀者進(jìn)程加入等待隊(duì)列將讀者進(jìn)程加入等待隊(duì)列讀者正在讀讀取內(nèi)容即寫者寫的內(nèi)容寫者線程正在執(zhí)行t有寫者在寫不能讀!將讀者進(jìn)程加入等待隊(duì)列則知道當(dāng)前已經(jīng)有讀者在讀,讀讀不互斥,則這個(gè)讀者可以直接進(jìn)來了讀讀者正在讀寫進(jìn)程寫操作有讀者進(jìn)程在執(zhí)行t有讀者在讀不能寫!將寫者進(jìn)程加入等
4、待隊(duì)列則當(dāng)前無讀者,但以有寫者在寫t有寫者在寫不能寫!將寫者進(jìn)程加入等待隊(duì)列寫者正在寫請輸入要寫的內(nèi)容讀者優(yōu)先時(shí)喚醒進(jìn)程當(dāng)前無讀進(jìn)程,是寫者在寫停止運(yùn)行寫進(jìn)寫者已經(jīng)寫完中已經(jīng)有內(nèi)容要置為當(dāng)前讀者隊(duì)列中的等待進(jìn)程數(shù)確實(shí)有讀者在等待等待的讀者正在讀沒有讀者等待,看是否有寫者等待檢查寫者等待隊(duì)列等待的寫者正在寫請輸入要寫入的內(nèi)讀者正在讀,讀此時(shí)若有等待必為寫者緩沖區(qū)空等待寫者讀者已經(jīng)讀完檢查寫者等待隊(duì)列等待的寫者正在寫請輸入要寫入的內(nèi)容寫者優(yōu)先喚醒當(dāng)前無讀進(jìn)程,是寫者在寫停止運(yùn)行寫進(jìn)程寫者已經(jīng)寫完中已經(jīng)有內(nèi)容要置為當(dāng)前寫者隊(duì)列中的等待進(jìn)程數(shù)確實(shí)有寫者在等待等待的寫者正在寫請輸入要寫的內(nèi)容沒有者等待,
5、看是否有者等待檢查寫者等待隊(duì)列等待的讀者正在讀讀者正在讀,讀此時(shí)若有等待必為寫讀者已經(jīng)讀完檢查寫者等待隊(duì)列等待的寫者正在寫請輸入要寫入的內(nèi)容創(chuàng)建讀者進(jìn)程創(chuàng)建寫者進(jìn)程結(jié)束當(dāng)前執(zhí)行的進(jìn)程退出程序當(dāng)前隊(duì)列中有讀者:個(gè)寫者:個(gè)輸入錯誤請重新輸入創(chuàng)建讀者進(jìn)程創(chuàng)建寫者進(jìn)程結(jié)束當(dāng)前執(zhí)行的進(jìn)程退出程序當(dāng)前隊(duì)列中有讀者:個(gè)寫者:個(gè)輸入錯誤請重新輸入讀者與寫者實(shí)驗(yàn)讀者優(yōu)先寫者優(yōu)先輸入錯誤請重新輸入實(shí)驗(yàn)流程圖:寫者優(yōu)先喚醒有讀者說明若有等待必為寫者進(jìn)行寫操作直到寫者隊(duì)列為空分別用兩個(gè)隊(duì)列來存放等待的讀者進(jìn)程和寫者進(jìn)程,一個(gè)進(jìn)程結(jié)束后就要將因他阻塞的進(jìn)程喚醒,如果是讀者優(yōu)先,則先檢查讀者進(jìn)程,如果發(fā)現(xiàn)讀者進(jìn)程不為空,就進(jìn)行讀操作,直到讀者進(jìn)程為空,才進(jìn)行寫操作;同理,如果是寫者優(yōu)先,則先檢查寫進(jìn)程,如果發(fā)現(xiàn)寫者進(jìn)程不為空,就進(jìn)行寫操作,直到寫者進(jìn)程為空,才進(jìn)行讀操作。讀寫互斥:只有當(dāng)互斥信號量并且當(dāng)前讀者數(shù)為時(shí),才可以進(jìn)行寫操作,對于讀進(jìn)程,且當(dāng)前讀者數(shù)為時(shí),第一個(gè)讀進(jìn)程進(jìn)行讀操作,當(dāng)當(dāng)前讀者數(shù)大于時(shí),不用判斷互斥信號量而直接進(jìn)行讀操作。對緩沖區(qū)為空的情況,如果緩沖區(qū)為空時(shí)進(jìn)行讀操作,則會設(shè)置一個(gè)信號量標(biāo)志
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)民教育培訓(xùn)與發(fā)展計(jì)劃編制手冊
- 項(xiàng)目管理優(yōu)化實(shí)施手冊
- 合作協(xié)議簽訂流程指南
- 手機(jī)攝影技巧手冊
- 海南2025年海南省農(nóng)墾實(shí)驗(yàn)中學(xué)招聘9人筆試歷年參考題庫附帶答案詳解
- 三農(nóng)戶教育培訓(xùn)計(jì)劃書
- 鄂爾多斯2025年內(nèi)蒙古鄂爾多斯市市場監(jiān)督管理局所屬事業(yè)單位引進(jìn)高層次人才10人筆試歷年參考題庫附帶答案詳解
- 貴州2025年貴州理工學(xué)院招聘17人筆試歷年參考題庫附帶答案詳解
- 西安2025年陜西西安石油大學(xué)輔導(dǎo)員招聘5人筆試歷年參考題庫附帶答案詳解
- 莆田2025年福建莆田市秀嶼區(qū)招聘新任教師70人筆試歷年參考題庫附帶答案詳解
- GB∕T 10836-2021 船用多功能焚燒爐
- 【告知牌】有限空間作業(yè)安全告知牌及警示標(biāo)志
- 貝雷橋設(shè)計(jì)及施工方案(精選)
- 個(gè)人勞動仲裁申請書
- 特種設(shè)備現(xiàn)場安全監(jiān)督檢查記錄(共1頁)
- 福德正神真經(jīng)
- 溢流堰穩(wěn)定計(jì)算
- 寶鋼的集中一貫管理體制考察
- 化工儀表英文縮寫及實(shí)例
- 醫(yī)學(xué)影像科診療技術(shù)人員授權(quán)申請表模板
- 《森林生態(tài)學(xué)》PPT課件.ppt
評論
0/150
提交評論