



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学四史考试题型及答案
- 客房文员培训课件内容
- 美术关于体积的课件设计
- 车间安全隐患排查表
- 天然气安全知识培训
- 安全生产管理人员证书考试
- 生产管理心得体会
- 黄石市东方山旅游公路改建工程监理大纲
- 2025至2030中国旋转变压器行业发展分析及产业运行态势及投资规划深度研究报告
- 2025至2030中国氨酚伪麻那敏片行业项目调研及市场前景预测评估报告
- 黑龙江省哈尔滨市第九中学校2024-2025学年高一下学期6月月考化学试题(含答案)
- 2025-2030年中国低温超导材料行业市场深度调研及发展前景与投资战略研究报告
- 二手车跨境交易平台创新创业项目商业计划书
- 五育并举与心理健康教育的融合
- 2023-2024学年浙江省宁波市慈溪市四年级(下)期末数学试卷
- 介入室耗材管理课件
- 2025年黑龙江、吉林、辽宁、内蒙古高考生物真题试卷(解析版)
- 三级直播销售员(高级)职业技能鉴定考试复习题及答案
- 阿米巴模式的合同协议书
- 带小孩上班协议书
- 新闻记者采编报导人员岗位从业资格考试题含答案
评论
0/150
提交评论