- 7
- 0
- 约6.2千字
- 约 11页
- 2022-10-10 发布于山东
- 举报
操作系统实验报告-三大经典问题之生产者与消费者问题
计算机操作系统实验报告
题 目三大经典问题之生产者与消费者问题
1
操作系统实验报告-三大经典问题之生产者与消费者问题
一、课程设计的性质与任务
1、加深对并发协作进程同步与互斥概念的理解。通过编写程序实
现进程同步和互斥,使学生掌握有关进程(线程)同步与互斥的原
理,以及解决进程(线程)同步和互斥的算法,从而进一步巩固进
程(线程)同步和互斥等有关的容。
2、掌握进程和线程 的概念,进 程(线程)的控制原语或系统调
用的使用。
3、了解 Windows2000/XP 中多线程的并发执行机制,线程间的同步
和互斥。学习 使用 Windows2000/XP 中基本的同步 对象,掌握相应
的
API 函数 。
4、培养学生能够独立进行知识综合,独立开发较大程序的能力。
5、培养提高学生软件开发能力和软件的调试技术。
6、培养学生开发大型程序的方法和相互合作的精神。
7、培养学生的创新意识。
8、培养学生的算法设计和算法分析能力。
9、培养学生对问题进行文字论述和文字表达的能力。
二、课程设计的容及其要求
在 Windows XP 、Windows 2000 等操作系统下,使用 的 VC
、 VB 、 Java 或 C 等编程语言,采用 进程(线程)同步和互斥
的技术编写程序实现生产者消费者问题或哲学家进餐问题或读者 -
写者问题或自己设计一个简单进程(线程)同 步和互斥的实际问题
。
要求: (1) 经调试后程序能够正常运行 。
(2)采 用多进程或多线程方式运行,体现了进程(线
程)同步互斥的关系。
(3) 程序界面美观。
2
操作系统实验报告-三大经典问题之生产者与消费者问题
三、实验原理
本实验要求利用 PV 操作实现解决生产 者 — —消费者问题
中的同步问题。此 问题描述的是一群生产者进程在生产产品并将这
些产品提供给消费者进程去消费,在两者之间设置了一个具有 n 个
缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区,
消费者进程可从缓冲区中取走产品去消费,但它们之间必须保持同
步,即不允许消费者进程到一个空缓冲区去取产品,也不允许生产
者进程向一个已装满且尚未取出的缓冲区中投放产品,并且生产者
消费者互斥使用缓冲区。
四、实验原理图
开始
Wait Products
Wait Buffer
Consume
Produce
While consume
While produce
结束
五、算法实现
(1)有一个生产者线程 ProduceThread,有 1 个消费者进
程 CustomerThread;缓冲区为 shareList。
(2)使用线程同步:用 synchonized 关键字(加锁)使得一个时间
3
操作系统实验报告-三大经典问题之生产者与消费者问题
只能有一个线程得到执行,另一个线程必须等待当前线程执行完这个
代码块以后才能执行该代码块;wait()让线程进入等待状态;notify
()函数唤醒一个处于等待状态的线程。
(3)程序运行流程图如下:(如不在外部中断,程序将一直循环运行)
开始
您可能关注的文档
最近下载
- 2024年江西新能源科技职业学院单招职业适应性测试题库及答案解析.docx VIP
- 2026版第5次一本英语听力训练100篇-6年级.docx VIP
- 美剧剧本绝望主妇台词本中英文对照精排版第一季第一集.pdf VIP
- 2025年春阳光课堂金牌练习册八年级道德与法治下册人教版答案.pdf VIP
- 海关历史与发展(全).ppt VIP
- 人教版劳动教育七下 劳动项目五《雕刻印章》课件.ppt VIP
- 浙里新中考·对题38练.docx VIP
- 国际贸易概论(第四版) 课件 姚大伟 第一单元国际贸易基础理论.ppt
- 《C语言程序设计》信息化教学实施报告 .pdf VIP
- 2026年浙江工贸职业技术学院单招综合素质笔试模拟试题及答案解析.docx VIP
原创力文档

文档评论(0)