- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为天地立心,为生民立命,为往圣继绝学,为万世开太平。——张载
佛山科学技术学院
实验报告
课程名称操作系统原理
实验项目实验一多个生产者消费者同步模型
专业班级姓名学号
指导教师成绩日期
一、实验目的
掌握基本的同步互斥算法,理解生产者和消费者模型。
了解Windows2000/XP中多线程的并发执行机制,线程间的同步和互斥。
学习使用Windows2000/XP中基本的同步对象,掌握相应的API
二、实验内容;
(一)相关基础知识
1、进程同步
2、同步对象
3、生产消费者模型
模型特点(缓冲池、生产和消费的规则、测试用例)
(二)程序的实现:
1、实验环境
2、相关API:有关操纵同步对象API
三、实验原理;
生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的
固定大小的缓冲区。其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。当
缓冲区已经满了,而此时生产者还想向其中放入一个新的数据项的情形,其解决方法是让生产者此时进行休眠,等待
消费者从缓冲区中取走了一个或者多个数据后再去唤醒它。同样地,当缓冲区已经空了,而消费者还想去取消息,此
时也可以让消费者进行休眠,等待生产者放入一个或者多个数据时再唤醒它。
四、实验步骤;
为天地立心,为生民立命,为往圣继绝学,为万世开太平。——张载
主函数
初始化缓冲区、消费者队列创建生产者和消费者线程
以及同步对象
提取线程信息
等待所有线程结束
完成线程相关同步对象的初
程序结束
始化
生产者
存在缓冲区?退出临界区
阻塞
通过信号量通知等待本
另一生产者正在写?产品的消费者
Y
N
结束生产进程
进入临界区(所有生产者之间互
斥)
生产者在空缓冲区自己的仓库中
写入产品
消费者
N
文档评论(0)