1 / 6
文档名称:

操作系统生产者与消费者.doc

格式:doc   大小:53KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统生产者与消费者.doc

上传人:63229029 2017/11/11 文件大小:53 KB

下载得到文件列表

操作系统生产者与消费者.doc

文档介绍

文档介绍:实验二:生产者与消费者
一、实验目的:
利用Windows提供的API函数,编写程序,解决生产者与消费者问题,实现进程的互斥与同步。
二、实验要求:
设计在同一个进程地址空间内执行的两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。
要求设计并实现一个进程,该进程拥有一个生产者线程和一个消费者线程,它们使用N个不同的缓冲区(N为一个确定的数值,例如N=32)。需要使用如下信号量:
(1)一个互斥信号量,用以阻止生产者线程和消费者线程同时操作缓冲区列表;
(2)一个信号量,当生产者线程生产出一个物品时可以用它向消费者线程发出信号;
(3)一个信号量,消费者线程释放出一个空缓冲区时可以用它向生产者线程发出信号;
三、实验原理:
生产者线程生产物品时,若无空缓冲区可用,生产者线程必须等待消费者线程释放出一个空缓冲区;消费者线程消费物品时,若缓冲区为空,消费者线程将被阻塞,直到新的物品被生产出来。
一些重要函数功能说明:
CreateThread:创建一个在调用进程的地址空间中执行的线程。
CreateMutex ():创建有名或无名的互斥对象。
ReleaseMutex ():释放指定互斥对象。
WaitForSingleObject():测试指定对象是否有信号或超时
CreateSemapore():创建一个有名或者无名信号对象。
ReleaseSemaphore():将指定信号对象的计数增加一个指定的数量。
四、实验运行结果:

五、实验所遇到的问题:
如果将两个wait操作即wait(full)和wait(mutex)互换位置,或者将release(mutex)与release(full)互换位置,当缓冲区存满产品时,生产者又生产了一件产品,它欲向缓冲区存放时将在empty上等待,但它已经占有了使用缓冲区的权利。这时消费者要取产品时将停留在mutex上得不到使用缓冲区的权利,导致生产者等待消费者取走产品,而消费者却在等待生产者释放使用缓冲区的权利,这种相互等待永远结束不了。因此进程将会发生死锁。
附录:源程序实现
#include <>
#include <iostream>
const unsigned short SIZE_OF_BUFFER = 10; //缓冲区长度
unsigned short ProductID = 0; //产品号
unsigned short ConsumeID = 0; //将被消耗的产品号
unsigned short in = 0; //产品进缓冲区时的缓冲区下标
unsigned short out = 0; //产品出缓冲区时的缓冲区下标
int g_buffer[SIZE_OF_BUFFER]; //缓冲区是个循环队列
bool g_continue = true; //控制程序结束
HANDLE g_hMutex; //用于线程间的互斥
HANDLE g_hFullSemaphore; //当缓冲区满时迫使生产者等待
HANDLE g_hEmptySemaphore; //当缓冲区空时迫使消费者等待
DWORD WINAPI Producer(

最近更新

2024年家长会上的发言稿 81页

综合解析重庆长寿一中物理八年级下册期末考试.. 20页

2024年xx学院职业倾向性测试题库及完整答案 38页

综合解析福建龙海第二中学物理八年级下册期末.. 20页

2024年山东省高职单招职业适应性测试题库带完.. 45页

2024年湛江幼儿师范专科学校单招综合素质考试.. 73页

2024年重庆电子工程职业学院职业倾向性测试题.. 57页

综合解析湖南邵阳市武冈二中物理八年级下册期.. 21页

老街基学校月主题德育活动总结12至13上 6页

安全员继续教育考试题库1000道及答案(新) 282页

演出经纪人考试题库1000道附完整答案(全国通.. 275页

2024年桂林电子科技大学单招综合素质考试题库.. 72页

2024年甘肃机电职业技术学院单招综合素质考试.. 56页

2024年顺德职业技术学院单招职业适应性测试试.. 56页

2024年山西药科职业学院单招综合素质考试题库.. 56页

2024年湖南工程职业技术学院单招职业技能测试.. 55页

幼儿园护理孩子ppt课件 30页

综合解析山西太原市外国语学校物理八年级下册.. 20页

综合解析四川遂宁市第二中学校物理八年级下册.. 21页

综合解析合肥市第四十八中学物理八年级下册期.. 20页

综合解析北京市朝阳区日坛中学物理八年级下册.. 20页

《雷雨》话剧剧本(第三幕) 20页

扁桃体炎的健康宣教ppt 27页

箱变日常巡查记录表格 2页

学生请假条模板[常用15篇] 9页

消防楼梯施工方案 5页

学习防性侵教育心得体会 3页

作业现场违章分析报告(范本) 27页

个人防护用品化工PPT教案 80页

商场空调合同能源管理(EMC)项目商业策划书 40页