下载此文档

需求分析和概要设计.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
需求分析和概要设计.doc一、需求分析说明在Windows7环境下,创建一个控制台进程,此进程包含n个线程。用这门个线程来表示门个读者或写者。每个线程按相应测试数据文件的要求进行读写操作。用信号量机制分别实现读者优先和写者优先的读者-写者问题。读者-写者问题的读写操作限制(包括读者优先和写者优先):1)写-写互斥,即不能有两个写者同时进行写操作。2)读-写互斥,即不能同时有一个线程在读,而另一个线程在写。3)读-读允许,即可以有一个或多个读者在读。读者优先的附加限制:如果一个读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。写者优先的附加限制:如果一个读者申请进行读操作时已有另一写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。运行结果显示要求:要求在每个线程创建、发出读写操作申请、开始读写操作和结束读写操作时分别显示一行提示信息,以确定所有处理都遵守相应的读写操作限制。以下是各功能模块的功能描述:。•读者线程定义互斥变量h_Mutex,通过WaitForSingleObject(h_Mutex,-l)实现对readcount的互斥访问。•读者优先•写者线程当前读者进程全部结束后,等待的写者进程就可以申请资源EnterCriticalSection(&RP_Write)进行写操作。写者优先•读者线程定义互斥变量h_Mutexl,h_Mutex2,通过WaitForSingleObject(h_Mutexl,-l)读者进入临界区,同时通过h_Mutex2实现对readcount的互斥访问。写者优先•写者线程定义互斥变量h_Mutex3,实现对writecount的互斥访问。读写操作优先处理函数从文件中读取相关数据,通过数组依次创建读者进程和写者进程,来协调程序的运行,直到所有的读写线程全部结束。测试数据:、概要设计说明1线程控制:CreateThread完成线程创建,在调用进程的地址空间上创建一个线程,以执行指定的函数;它的返回值为所创建线程的句柄。HANDLECreateThread(LPSECURTTYj\TTRTBUTESIpThreadAttributes,//SDDWORDdwStackSize,//initialstacksizeLPTHREAD—START—ROUTINEIpStartAddress,//threadfunctionLPVOIDlpParameter,//threadargumentDWORDdwCreationFlags,//creationoptionLPDWORD1pThreadld//threadidentifier);ExitThread用于结束当前线程。VOIDExitThread(DWORDdwExitCode//exitcodeforthisthread);Sleep可在指定的时间内挂起当前线程。VOIDSleep(DWORDdwMilliseconds//sleeptime);4信号量控制:WaitForSingleObject可在指定的时间内等待指定对象为可用状态;DWORDWaitForSingleObject(HANDLEhHandle,//handletoobjectDWORDdw

需求分析和概要设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sssmppp
  • 文件大小72 KB
  • 时间2020-09-09
最近更新