- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学 号:
XXXXXXXXXXXXXXX
课 程 设 计
题 目 用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem) 学 院 计算机科学与技术学院 专 业 软件工程 班 级 姓 名 指导教师
2010 年 6 月 28 日
课程设计任务书
学生姓名: 专业班级:
指导教师: 工作单位:
题目: 用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem)
初始条件:
操作系统:Linux
程序设计语言:C语言
3. 设有一个理发师,5把椅子(另外还有一把理发椅),几把椅子可用连续存储单元。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.技术要求:
1)为每个理发师/顾客产生一个线程,设计正确的同步算法
2)每个顾客进入理发室后,即时显示“Entered” 及其线程自定义标识,还同时显示理发室共有几名顾客及其所坐的位置。
3)至少有10个顾客,每人理发至少3秒钟。
4)多个顾客须共享操作函数代码。
2. 设计说明书内容要求:
1)设计题目与要求
2)总的设计思想及系统平台、语言、工具等。
3)数据结构与模块说明(功能与流程图)
4)给出用户名、源程序名、目标程序名和源程序及其运行结果。(要注明存储各个程序及其运行结果的主机IP地址和目录。)
5)运行结果与运行情况
(提示: (1)连续存储区可用数组实现。
(2)编译命令可用: cc -lpthread -o 目标文件名 源文件名
(3)多线程编程方法参见附件。)
3. 调试报告:
1) 调试记录
自我评析和总结
上机时间安排:
18周一 ~ 五 08:0 - 12:00
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目录
1设计题目与要求 4
1.1 设计题目 4
1.2 设计要求 4
1.2.1 初始条件 4
1.2.2 技术要求 4
2 总体设计思想及开发环境与工具 4
2.1 总体设计思想 4
2.2 多线程编程原理 5
2.2.1 创建一个线程 5
2.2.2 等待一个线程结束 5
2.2.3 信号量 6
2.3 伪码实现 6
2.4 开发环境与工具 7
3数据结构与模块说明 8
3.1 数据结构 8
3.2程序模块说明 8
3.2.1主函数模块 8
3.2.2 理发师模块 9
3.2.3 顾客模块 9
4源程序 10
4.1用户名、源程序名和目标程序名 10
4.2源程序代码 11
5运行结果 14
5.1运行步骤 14
5.2运行结果 15
5.2.1 编辑,编译和运行的过程图 15
5.2.2 错误部分截图 16
5.2.3 正确运行结果图 16
6调试记录 18
6.1调试记录 18
6.2自我评析和总结 19
7参考文献 19
1设计题目与要求
1.1 设计题目
用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem)
1.2 设计要求
1.2.1 初始条件
(1)操作系统:Linux
(2)程序设计语言:C语言
(3)设有一个理发师,5把椅子(另外还有一把理发椅),几把椅子可用连续存储单元。
1.2.2 技术要求
(1)为每个理发师/顾客产生一个线程,设计正确的同步算法
(2)每个顾客进入理发室后,即时显示“Entered” 及其线程自定义标识,还同时显示理发室共有几名顾客及其所坐的位置。
(3)至少有10个顾客,每人理发至少3秒钟。
(4)多个顾客须共享操作函数代码。
2 总体设计思想及开发环境与工具
2.1 总体设计思想
题目中要求描述理发师和顾客的为,因此需要两类程barber()和customer ()分别描述理发师和顾客的行为。理发师和顾客之间同步关系当理发师时顾客近来需要唤醒理发师为其理发,当有顾客时理发师为其理发,没有的时候理发师理发师和顾客之间互斥关系由于每次理发师只能为一个人理发,且可供等侯的椅子有限只有n,即理发师和椅子是临界资源,所以顾客之间是互斥的关系。故引入3个信号量和一个控制变量:控制变量waiting用来记录等候理发的顾客数,初值为0;信号量customers用来记录等候理发的顾客数,并用作阻塞理发师进程,初值为0;信号量barbers用来记录正在等候顾客的理发师数,并用作阻塞顾客进程,初值为;信号量m
您可能关注的文档
- 搬运机器人说明书--精.doc
- 搬运机械手电气控制系统设计封面任务书课题平分表--精.doc
- 搬运机械手电气控制系统设计--精.doc
- 宝钢热轧液压系统电气系统说明书--精.doc
- 必考部分 第六章 第一节 化学反应与能量的变化 课时作业--精.doc
- 必修2第三章第四章期末复习题--精.doc
- 必修3 第4章---第3、4节--精.ppt
- 必修3 第2章 第2、3节 通过激素的调节、神经调节与体液调节的关系--精.ppt
- 必修3 第4章 第1、2节 种群的特征、种群数量的变化--精.ppt
- 必修3表达交流导学案--精.doc
- 美联储加息背景下中国商品期货市场风险溢出效应研究.pdf
- 机械力活化钕铁硼二次废料制备微纳米磁性复合材料及其去除矿井水中As(V)的研究.pdf
- 宿迁市国土空间固碳能力时空分异与优化模拟研究.pdf
- 新型城镇化背景下超大城市边缘区社会治安防控体系研究--以上海市X镇为例.pdf
- 数字化背景下我国商业银行零售业务竞争力提升研究.pdf
- 房地产业与区域经济耦合协调发展及其影响因素研究--以安徽省为例.pdf
- 高管团队职能背景异质性与企业ESG表现--基于内部控制质量的机制分析.pdf
- 铁基导电颗粒强化厌氧发酵合成己酸的机理研究.pdf
- 涨跌幅限制对定价效率的影响及作用机制研究.pdf
- 基于深度学习的太赫兹涂层检测反射信号峰值定位方法.pdf
最近下载
- 意大利cemb(赛博)er60动平衡仪中文操作手册.pdf VIP
- 粮油供货保障方案.docx VIP
- 负压引流器产品技术要求标准2023版.pdf VIP
- 初中英语课外阅读黑布林版渔夫和他的灵魂中文译文.docx VIP
- Oasis montaj7.5 操作手册-Oasis montaj Mapping and Processing软件平台.pdf VIP
- 机械精度设计与检测技术基础第2版杨沿平第七章滚动轴承配合1课件教学.ppt VIP
- 云南省昆明市盘龙区2023-2024学年七年级上学期期末英语试卷.pdf VIP
- 硬膜下血肿的护理常规.pptx
- 2020年牛津译林版7A英语七年级上册Unit2-单元检测卷(含答案).docx VIP
- 机械精度设计与检测技术基础第2版杨沿平第八章键与花键连接1课件教学.ppt VIP
文档评论(0)