1 / 7
文档名称:

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

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

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

分享

预览

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

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

下载得到文件列表

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

文档介绍

文档介绍:实验一生产者和消费者问题
1、实验目的要求
1)、通过编写程序,掌握基本的同步互斥算法,理解生产者和消费者模型。
2)、了解多线程并发执行机制,线程间的同步和互斥。
3)、学****使用同步对象,掌握相应的API。
2、实验主要内容
编写基础的生产者消费者程序,程序反映了生产者和消费者的工作过程,其中缓冲区只存放一类产品,生产者消费者只对一类产品进行操作。
1)创建生产者和消费者线程
2)生产和消费规则
a)系统中有多个生产者,生产者每次只生产一种产品;
b)系统中有多个消费者,消费者每次可以消费一个产品。
c)生产者与消费者共享一个具有n个缓冲区的缓冲池。
d)生产者与消费者互斥使用缓冲池,即某一时刻只允许一个生产者或消费者使用缓冲池。
e)不允许消费者进程到一个空缓冲池去取产品;也不允许生产者进程向一个已装满产品且尚未被取走的缓冲池中投放产品。
f)缓冲池不要求是循环环形缓冲区,也不要求一定是顺序访问,生产者可以将产品投放入任意的空缓冲区。
3、实验仪器设备
PC兼容机。
4、程序流程图
(1)、生产者流程图
开始
是否有空缓冲区
缓冲池是否上锁
对缓冲池上锁
模拟生产
添加产品
缓冲池解锁
结束
阻塞




(2)、消费者流程图
开始
是否有满缓冲区
缓冲池是否上锁
对缓冲池上锁
取走产品
模拟消费
缓冲池解锁
结束
阻塞




5、源代码
#include <>
#include <>
const unsigned short n = 10;
unsigned short ProductID = 0;
unsigned short ConsumeID = 0;
unsigned short in = 0;
unsigned short out = 0;
int buffer[n];
bool g_continue = true;
HANDLE Mutex;
HANDLE Full;
HANDLE Empty;
void Produce()
{
buffer[in] = ++ProductID;
printf("生产者生产产品%d中...\n",ProductID);
Sleep(2000);
printf("在缓冲区%d添加一个产品\n",in);
in = (in+1)%n;
}
void Consume()
{
ConsumeID = buffer[out];
printf("消费者消费产品%d...\n",ConsumeID);
Sleep(2000);
printf("从缓冲区%d拿走一个产品\n",out);
out = (out+1)%n;
}
DWORD WINAPI Producer(LPVOID lpPara)
{
while(g_continue){
if(WaitForSingleObject(Empty,2000)==WAIT_TIMEOUT)
{
printf("producer empty time out!\n");

continue;
}

最近更新

2024年小学班主任班级寄语大全 34页

2024年小学班主任德育教育的工作计划 8页

卡通艺术符号在环境设计中的应用研究开题报告.. 2页

南阳烟区烤烟可持续发展战略研究的开题报告 2页

第五章植物细胞培养及原生质体培养 60页

2024年小学比喻句(通用15篇) 62页

2024年小学未来作文合集15篇 16页

2024年小学数学第二学期教研组工作总结 5页

2024年小学数学教师工作的述职报告(通用7篇).. 19页

区间时变时滞系统的鲁棒镇定控制研究的开题报.. 2页

2024年小学数学学期工作总结 46页

区域循环经济发展评价与运行体系研究的开题报.. 2页

北重汽轮电机公司发展战略研究的开题报告 2页

科长竞聘演讲稿范文汇总(31篇) 93页

空调安装的合同范本(精选21篇) 70页

2024年小学教研组教研工作计划集锦八篇 28页

北京旧城区居住建筑的改造研究的开题报告 2页

北京市新型城镇化水平测度与综合评价开题报告.. 2页

【剧本杀剧本介绍】无间旅途 1页

中小学研学旅行活动报备表格 3页

蛛网膜下腔出血教案 9页

《东京审判》台词 3页

毕业设计 毕业论文:工业设计 英文文献及翻译.. 34页

广东快乐十分在投注外挂软件 6页

全球50大变态网站(爽死!)——绝对诱惑!!!!!!!.. 5页

摇臂支架零件加工工艺及车10.5孔夹具设计 33页

生化检验室内质控及失控分析 47页

旅游度假城污水处理厂自控系统技术方案 25页