实习2 并发控制-多生产者消费者问题.pdfVIP

实习2 并发控制-多生产者消费者问题.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实习二:并发控制 多生产者P-消费者C问题 2010年5月13 日星期四 题目说明(1) 实习要求 • 在Windows XP环境下,实现多生产者P-消 费者C 问题 • 对某一个生产者有需求的全部消费者C均访 问过某缓冲区后,该生产者和其它生产者才 可以向这个缓冲区存放产品 • 要求构造一个输入数据文本,运行后,显示 对应的输出结果 2010年5月13 日星期四 题目说明(2) 测试文本格式 • 测试文件包括n+1行 • 第一行为缓冲区数目,以下每行为一个记录,记录的字段 用空格分开 • 记录的第一个字段是线程序号,第二字段标记为C或P,第 三字段是表示生产/消费时间,对于C,之后的字段表示它使 用哪些生产者(以线程序号表示)的产品 • 示例: • 5 1 p 3 2 p 4 3 c 4 1 4 p 2 5 c 2.1 1 2 4 2010年5月13 日星期四 思考题 1.了解Win32 API 中定义的IPC函数,说明比较说明涉及到的 几种同步对象。你猜测哪一种操作速度比较快,证实你 的想法,并给出一个合理的解释。实现本实习互斥的过 程中,哪个对象效率比较高?为什么? 2. 在该问题中存在哪些同步问题,哪些互斥问题? 3.缓冲区的大小对实验结果有何影响?如果缓冲区是无限大 的,那么输入、输出进程读、写缓冲区需要什么条件? 4.若使用进程间通信方式实现该问题,具体需要怎么做? 5.线程在实现同步的时候,主要有那些同步对象,这些同步 对象各有什么特点? 6.本实验出现的函数及其参数,名称与含义。 2010年5月13 日星期四 相关知识 Windows支持的三种内核同步对象  在Windows 中提供了互斥对象、信号量对象和 事件对象等三种同步对象和相应的系统调用 , 用于进程和线程同步  这些同步对象都有一个用户指定的对象名称, 不同进程中用同样的对象名称来创建或打开对 象,从而获得该对象在本进程的句柄 2010年5月13 日星期四 相关知识 •互斥对象(Mutex)就是互斥信号量,在一个时刻 只能被一个线程使用 •它的相关API包括:CreateMutex、OpenMutex 和ReleaseMutex – CreateMutex创建一个互斥对象,返回对象句柄 – OpenMutex打开并返回一个已存在的互斥对象句柄, 用于后续访问 – ReleaseMutex释放对互斥对象的占用,使之成为可用 2010年5月13 日星期四 相关知识 •信号量对象(Semaphore)就是资源信号量,取值 的取值在0到指定最大值之间,用于限制并发访 问的线程数 •它的相关API包括:CreateSemaphore、 OpenSemaphore和ReleaseSemaphore – CreateSemaphore创建一个信号量对象,在输入参数

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档