- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
湖南农业大学信息科学技术学院学生实验报告
姓名:_年级专业班级日期_年11月25日成绩_
课程名称
操作系统
试验名称
进程同步和互斥
试验类型
验证设计综合创新
【试验目的、规定】
(1)通过编写程序实现进程同步和互斥,掌握有关进程(线程)同步与互斥的原理,以及处理进程(线程)同步和互斥的算法,从而深入巩固进程(线程)同步和互斥等有关的内容。
(2)理解Windows/XP中多线程的并发执行机制,线程间的同步和互斥。
(3)学习使用Windows/XP中基本的同步对象,掌握对应的API函数。
(4)掌握进程和线程的概念,进程(线程)的控制原语或系统调用的使用。
【试验内容】
在WindowsXP操作系统下,使用java等编程语言,采用进程(线程)同步和互斥的技术编写程序实现生产者-消费者问题。
【试验环境】(含重要设计设备、器材、软件等)装有JDK1.6的PC电脑一台
【试验环节、过程】(含原理图、流程图、关键代码,或试验过程中的记录、数据等)
生产者进程(进程由多种线程构成)生产信息,例如它可以是计算进程。消费者进程使用信息,它可以是输出打印进程。由于生产者和消费者彼此独立,且运行速度不确定,因此很也许出现生产者已产生了信息而消费者却没有来得及接受信息这种状况。为此,需要引入由一种或者若干个存储单元构成的临时存储区,以便寄存生产者所产生的信息,
平滑进程间由于速度不确定所带来的问题。这个临时存储区叫做缓冲区,一般用一维数组来表达。由一种或若干个存储单元构成的缓冲区叫作“有穷缓冲区”。下面我们来分析一下有穷缓冲的生产者和消费者的例子。
生产者
放入产品
获取缓冲区状况
缓冲池
取出产品
获取缓冲区状况
消费者
假设有多种生产者和多种消费者,它们共享一种具有n个存储单元的有穷缓冲区Buffer(0..…-1),这
是一种环形队列。其队尾指针Rear指向目前信息应寄存的位置(Buffer[Rear]),队首指针Front指向目前取出信息的
位置(Buffer[front])。生产者进程总是把信息寄存在Buffer[Rear]中,消费者进程则总是从Buffer[Rear]中取出信
息。假如想使生产者进程和消费者进程协调合作,则必须使它们遵照如下规则:
1)只要缓冲区有存储单元,生产者都可往其中寄存信息;当缓冲区已满时,若任意生产者提出写规定,则都必须等待;
2)只要缓冲区中有消息可取,消费者都可从缓冲区中取出消息;当缓冲区为空时,若任意消费者想取出信息,则必须等待;
3)生产者们和消费者们不能同步读、写缓冲区。
开始
开始
生产者线程开始
否
判断缓冲池与否满了
是
是
放入产品到缓冲池
通过notifyO唤醒消费者线程,而生产者线程阻塞
消费者线程开始流程图
代码:判断缓冲池与否判断缓冲池中否
publicclassProducerConsu否空产品够不够取
publicstaticvoidmain(S是ig[]args){
SyncStackss=newSyncStackφ;从缓冲池中取出产品
Producerp=newProducer(ss);
Consumerc=newConsumer(ss
newThread(p).start();通过notifyO唤醒生产者线程,而消费者线程阻塞
判断缓冲池能否放下新产品
是
否
new
new
new
Thread(p).start();Thread(p).start();Thread(c).start();
在实际运行中,生产者和消费者两个线程的最开始的运行是没有先后之分的,两个线程处在同步执行的状态。
}
classWoTou{
intid;
WoTou(intid){
this.id=id;
}
publicStringtoString(){
returnWoTou:+id;
}}
classSyncStack{
intindex=0;
WoTou[]arrWT=newWoTou[6];
publics
您可能关注的文档
- 《第三节 动量守恒定律》(同步训练)高中物理选择性必修 第一册_粤教版_2024-2025学年.docx
- 《第三章 热力学定律》试卷及答案_高中物理选择性必修第三册_教科版_2024-2025学年.docx
- 《第十三章 原子结构》试卷及答案_高中物理选择性必修第三册_沪科版_2024-2025学年.docx
- 《第一节 电子的发现》(同步训练)高中物理选择性必修第三册_沪科版_2024-2025学年.docx
- 2025年报关员资格深度解析班精华讲义.docx
- 2025年操作系统进程调度策略性能分析报告.docx
- 2025年操作系统进程管理调度策略分析与优化实践报告.docx
- 2025年操作系统进程管理实践解析(1).docx
- 2025年操作系统进程同步互斥实验攻略与实践解析.docx
- 2025年操作系统模拟考试专项训练2.docx
- 一城一云服务城市高质量发展白皮书(2023).pdf
- 中国连锁餐饮企业资本之路系列报告(2023)-历尽千帆,厚积薄发.pdf
- 有色金属行业专题研究:未来焦点,钒液流电池储能风潮兴涌.pdf
- 中国 “一带一路”实践与观察报告.pdf
- 医药生物-消费器械行业2023年中报总结:积极拥抱高璧垒高成长(202309).pdf
- DB50T 699-2016 简易升降机检验规则.pdf
- DB50T 746-2016 水库大坝安全监测资料整编分析规程 .pdf
- 看DAO2025-未尽研究报告(2024).pdf
- 市场洞察力报告-数据安全检查工具箱(2024).pdf
- 2024年预见未来:中国元医院建设发展调研报告.pdf
最近下载
- 衡水体英文字母字帖.pdf VIP
- 人教版小学一年级数学练习题_20以内加减法口算题(全套).doc
- 《岩土锚杆与喷射混凝土支护工程技术规范+GB+50086-2015》详细解读.pdf
- 86 PANEL_MT7981B(86面板AX3000低成本完整原理图).pdf
- 英语单词游戏1一个比划一个猜.pptx VIP
- 护理团标解读-成人氧气吸入疗法护理.pptx VIP
- 有限合伙GP和LP合作协议(律师整理拟定版本).pdf
- 医疗结构化-50题押题.pdf
- 2024年广东省佛山市中考一模物理试卷.docx VIP
- 中国农业节水协会:农村应急供水保障技术导则(T_JSGS 010-2023).docx
文档评论(0)