实验二生产者消费者问题实践.docx

实验二生产者消费者问题实践.docx

ID:60357957

大小:319.68 KB

页数:7页

时间:2020-12-05

实验二生产者消费者问题实践.docx_第1页
实验二生产者消费者问题实践.docx_第2页
实验二生产者消费者问题实践.docx_第3页
实验二生产者消费者问题实践.docx_第4页
实验二生产者消费者问题实践.docx_第5页
资源描述:

《实验二生产者消费者问题实践.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二生产者消费者问题实践【实验目的】配合操作系统课程的学习,加深对生产者与消费者问题的理解并熟悉VC的使用。【实验学时】建议2学时【实验内容】利用信号量机制完成5个生产者10个消费者的同步。【实验原理】生产者消费者问题是把并发进程的同步和互斥问题一般化后得到的一个抽象的一般模型。首先同步问题:消费者只有在有界缓冲区内有数据的时候才能进行消费,而生产者只能在有界缓冲区内有空间的时候才能够进行生产。其次,由于有界缓冲区是临界资源,所以生产者进程和消费者进程必须互斥。为此,本实验中设置了一个公用的信号量即“ct”用来保证互斥的实现,它的初始值

2、为1。另外为生产者和消费者分别设置了两个私用信号量,分别为“notem”和“notfu”。其中“notfu”表示有界缓冲区中的空单元数,初始值为20;“notem”表示有界缓冲区中非空单元数,初始值为0。由于信号量的值只能通过P、V原语来操作,所以本实验中还定义了P、V的有关操作。【实验要求】实现生产者、消费者的模拟函数(produce、consume),用它们来模拟生产者消费者问题。【实验步骤】1、创建一个控制台类型的、名为P_C的工程(如图5-1所示)。下一步选择简单应用(如图5-2所示)。12、在P_C.cpp文件中添加如下代码:2

3、3、添加一个类,用于控制生产者消费者的状态。点击Insert->NewClass.类名为"Monitor"(如图5-3所示)。34、在Monitor.h文件中添加如下代码:45、在Monitor.cpp文件中添加如下代码:566、在Stdafx.h文件中添加如下代码:7、BuildP_C.exe,点击Build图标。Output输出如下所示,则P_C工程建立完毕。8、运行P_C.exe。点击!图标。7

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。