电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

多线程生产者消费者问题VIP免费

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

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

多线程生产者消费者问题

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部