



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 基本信息实践题目:事件对象实现P、V操作并解决读写者问题完成人:班级:07062301姓名:陈杨学号:0706230101报告日期:20RR年1月5日2. 实践内容简要描述实践目标1掌握事件对象的使用方法2理解P、V操作的内部机制及读者-写者问题的实现方法。 实践内容-写者问题用Win32提供的同步对象实现P、V操作,并使用它们解决读者利用事件机制模拟多值信号量。算法如下:bin arR-semaphoreS1,S2;/i ni tializtio n:S1=1,S2=0in tC;/i nitializtio n: theco un tofrecourcewait():Wait(S1)
2、;C_;if(C0)sig nal(S1); wait(S2);sig nal(S2);sig nal():wait(S1);C+;if(C=0)sig nal(S2);elsesig nal(S1);读者-写者问题算法如下:Writer:wait(WmuteR);/dowriti ngsig nal(WmuteR);Reader: wait(RmuteR); if(Rcou nt=0) wait(WmuteR);Rcoun t+;sig nal(RmuteR);/doreadi ngwait(RmuteR);Rcoun t-;if(Rcou nt=0)sig nal(WmuteR);sig
3、nal(RmuteR);设计思路利用事件对象实现P、V操作主要数据结构in treadco un t=0;in twriteco un t=0;structMRSemaphoreHANDLEs1,s2;intc;MRSemaphoreReaderS;MRSemaphoreWriterS;structThreadI nfoint serial;char en titR;double delaR;double persist;主要代码结构及分析/ReaderPrioritRfuctio n/file:file name/voidReaderPrioritR(charRfile)DWORD n_th
4、read=0;DWORDthreadD;DWORDwait_for_all;ini tMRSem aphore(&ReaderS,1);ini tMRSe map hore( &WriterS,1);readco un t=0;/in itreaderco unt/TreadObjectArraRHANDLEh_ThreadMAR_THREAD_NUM;ThreadI nfothreadn foMAR_THREAD_NUM;ifstreami nFile;inF ile.ope n( file);/ope nfileprin tf(ReaderPrioritR:nn);while(i nFil
5、e)/readeverRreader/writeri nfoin Filethread _in fon_thread.serial;in Filethread _in fon_thread.e ntitR;in Filethread _in fon_thread.delaR;in Filethread _in fon_thread+.persist;in File.get();/en dwhilein File.close();for(i nti=O;is1,INFINITE);mRS-c-;if(mRS-cs1);WaitForSi ngleObject(mRS-s2,INFINITE);S
6、etEve nt(mRS-s1);voidsig nal(MRSem aphoreRmRS)WaitForSi ngleObject(mRS-s1,INFINITE);mRS_c+;if(mRS-cs2);elseSetEve nt(mRS-s1);/readerprioritR-readerthread/p:readerthreadi nfo/DWORDWINAPIRP_ReaderThread(voidRp)DWORDm_delaR;DWORDm_persist;in tm_serial;/geti nfofroamparam_serial=(ThreadI nfoR)(p)-serial
7、;m_delaR=(DWORD)(ThreadI nfoR)(p)-delaRRINTE_PER_SEC); m_persist=(DWORD)(ThreadI nfoR)(p)-persistRINTE_PER_SEC); Sleep(m_delaR);prin tf(Readerthread%dse ntsthereadi ngrequire.n,m_serial);wait(&ReaderS);if(readco un t=0)wait (&WriterS);readco un t+;sig nal(&ReaderS);/readfileprin tf(Readerthread%dbeg
8、i nstoreadfile.in ,m_serial);Sleep(m_persist);/eRitthreadprin tf(Readerthread%dfi ni shedreadi ngfile.n ,m_serial); wait(&ReaderS);readco un t-;if(readco un t=0)sig nal(&WriterS);sig nal(&ReaderS);return0;/ReaderprioritR-writerthread/p:writerthreadi nfo/DWORDWINAPIRP_WriterThread(voidRp)DWORDm_delaR
9、;DWORDm_persist;in tm_serial;/geti nfofroamparam_serial=(ThreadI nfoR)(p)-serial; m_delaR=(DWORD)(ThreadI nfoR)(p)-delaRRINTE_PER_SEC); m_persist=(DWORD)(ThreadI nfoR)(p)-persistRINTE_PER_SEC);Sleep(m_delaR);prin tf(Writerthread%dse ntsthewriti ngrequire.n,m_serial); /waitresourcewait (&WriterS);/wr
10、itetothefileprin tf(Writerthread%dbegi nstowritetothefile.n,m_serial); Sleep(m_persist);/eRitthreadprin tf(Writerthread%dfi ni shedWriti ngtothefile.n,m_serial); /releaseresourcesig nal(&WriterS);return0;3. 实践结果基本数据:源程序代码行数:256完成实践投入的时间(小时数):5资料查阅时间:1.5编程调试时间:3.5测试数据设计eR5.dat”中测试数据为:1R352W453R524R65
11、5W53测试结果分析待所有读进程执行完毕后写进程才开始一一执行,结果正确。4. 实践体会实践过程中遇到的问题及解决过程 在调试时,一开始总会出现某个进程sentsrequire的信息重复出现两次,但该线程只执行过一次的现象,调整显示代码的位置得不到正确的结果。后将读写进程函数由voidRP_ReaderThread(voidRp);voidRP_WriterThread(voidRp);改为DWORDWINAPIRP_ReaderThread(voidRp);DWORDWINAPIRP_WriterThread(voidRp);并在函数体最后加上return。语句。该问题顺利解决。实践体会和收获通过此次实验,我学会了事件对象的使用方法,并深入了解了P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 并发症与合并症的区分及例题试题及答案
- DB41-T 2607-2024 蓝莓组培快繁技术规程
- 高中物理粤教版 (2019)必修 第三册第三节 测量金属丝的电阻率教学设计
- 2024秋七年级数学上册 第4章 直线与角4.5 角的比较与补(余)角 1角的比较教学设计(新版)沪科版
- 2024秋一年级语文上册 课文 4 12雪地里的小画家教学设计 新人教版
- 健康管理与疾病预防整合试题及答案2025年
- 了解专利代理人考试全貌试题及答案
- 小升初英语测试题及答案
- 中药新药研发过程试题及答案
- 教师资格笔试教育理念转变试题及答案
- 绞车培训考试题及答案
- 2025-2030中国功能近红外光学脑成像系统(fNIRS)行业市场发展趋势与前景展望战略研究报告
- 9.2《项脊轩志》课件统编版高二语文选择性必修下册-1
- 高速公路段工程施工安全专项风险评估报告
- 2025年安阳职业技术学院单招职业适应性测试题库含答案
- 第三单元《莫斯科郊外的晚上》课件 七年级音乐下册 花城版
- 奶龙小组汇报模板
- 二零二五年矿泉水品牌战略合作框架协议范本2篇
- 夜间城市背景光污染对生物的影响分析
- 混凝土桥梁预应力钢筋锈蚀的研究进展
- 医疗设备维保服务项目总体实施方案
评论
0/150
提交评论