多线程--生产者消费者问题1收集.pdfVIP

  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文档。上传文档
查看更多
实验报告 专业 网络工程 班级 08102 班 学号 01 号 姓名 胡双双 课程名称 操作系统 学年 2010 -2011 学期 下 课程类别 专业必修 ■限选□任选□实践□ 实验时间 2010 年 11 月 3 日 实验名称 实验一:生产者与消费者问题 实验目的和要求 全面理解生产者与消费者问题模型,掌握解决该问题的算法思想,正确使用同步机制。 实验软硬件要求 Pentium(R) Dual-Core CPU 1.96G 内存 WINDOWS XP Professional Visual C++6.0 实验内容、方法和步骤 (可附页) 问题描述:一组生产者向一组消费者提供商品,共享一个有界缓冲池,生产者向其中放入商品,消费者从中 取得商品。假定这些生产者和消费者互相等效,只要缓冲池未满,生产者可将商品送入缓冲池;只要缓冲池未空, 消费者可从缓冲池取走一商品。 功能要求:根据进程同步机制,编写一个解决上述问题的程序,可显示缓冲池状态、放商品、取商品等过程。 具体参数:有 1 个生产者进程; 有 1 个消费者进程; 缓冲区单元个数 BUFFER_NUM =5 ; 不同的生产进程可生产不同的产品,自己可任意定义,在本程序中是直接将相应生产者代号放入缓冲区,消 费时将某消费者消费某生产者的信息显示出来 实验结果 : 见截图 小结 从此次试验中,学到了很多关于编程的知识,以前对于编程的认识只停留在一些简单的算法上,并没有系统的 进行编程训练。此次的试验是以前从没接触过的多线程,中间涉及的同步及互斥问题,在设计软件及系统时,都是 极其重要的。 多线程实验对于我们现阶段确实有点偏难,不过,在经过请教同学及看参考书,终于自己写出了一个相对于简 单一点的生产者消费者的多线程程序。 评定成绩: 批阅教师: 年 月 日 第 1 页 共 6 页 一、问题概述 一组生产者向一组消费者提供消息,它们共享一个有界缓冲池,生产者向其中投放消息,消费者从中取得消息。 假定这些生产者和消费者互相等效,只要缓冲池未满,生产者可将消息送入缓冲池;只要缓冲池未空,消费者可从 缓冲池取走一个消息。 二、设计流程图 (1)生产者流程图: 阻塞为空 无空缓冲区 否 空缓冲区 是 对缓冲区加锁 生 产 者 生 产 产 品 缓冲区已满,请等待 放入缓冲区 解 锁 结 束 第 2 页 共 6 页 (2 )消费者流程图 阻塞为空 无满缓冲区 否 满缓冲区 是 对缓冲区加锁 消费者消费缓冲区 没有产品可消费,请等待

文档评论(0)

蔡老二学教育 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档