欢迎来到天天文库
浏览记录
ID:10764491
大小:761.00 KB
页数:8页
时间:2018-07-08
《计算机操作系统课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、709add7c5c0b1648822ff74b94972f1c.doc课程设计说明书学生信息系别计算机工程系专业数字媒体技术班级08数字媒体B姓名学号课程设计信息课程名称计算机操作系统课程设计题目理发师问题课程设计时间小组情况三人组指导教师批改情况成绩评阅教师批改时间2010年月日2010-2011学年第1学期第8页共8页709add7c5c0b1648822ff74b94972f1c.doc目录1.课程设计内容32.课程设计目的33.开发环境34.设计步骤与方法34.1.程序概要设计34.2.程序详细设计45.设计结果及分析66.设计结论8
2、7.对本设计过程及方法、手段的改进建议88.任务分配89.参考文献810.课程设计评价(教师)8第8页共8页709add7c5c0b1648822ff74b94972f1c.doc理发师问题1.课程设计内容理发店有一位理发师,一把理发椅和n把等候理发的顾客座位。如果没有顾客,理发师便看报纸,有顾客来时,他必须叫理发师。如果理发师正在理发时又有顾客来到,如果等候室有座位,就坐下等待,否则离开。2.课程设计目的通过生产者和消费者问题的设计和调试,使学生掌握进程同步的工作原理,利用信号量的原理和机制去解决同步问题,并培养学生分析和解决实际问题的能力。
3、3.开发环境系统:windows2000/windowsXP语言:C#软件开发工具:visualstudio20084.设计步骤与方法4.1.程序概要设计设计一个windows应用窗口来模拟理发师问题这个实验,分等候室、工作室两块区域。等候室有5个位置,工作室有理发师和正在理发的顾客。人物分顾客和理发师两种,理发师只有一个,顾客初始设定为10人。第8页共8页709add7c5c0b1648822ff74b94972f1c.doc1.1.程序详细设计4.2.1界面设计首先创建一个C#项目工程并命名为BarberQuestion。在BarberQu
4、estion项目中创建startform.cs,程序开始界面.如下图示:图1:开始窗口然后创建一个主界面命名为mainForm.cs.如下图示:图2:主窗口第8页共8页709add7c5c0b1648822ff74b94972f1c.doc4.2.2代码设计首先创建两个队列来装载顾客分别是:privateQueueenqueueIndex=newQueue();//创建一个存储队列privateQueuedequeueIndex=newQueue();//创建一个离开队列开始模拟按钮:实现模拟顾客进入发厅
5、等候室,当等候室没有位子时,离开;通知理发师按钮:实现当等候室有顾客时,通知理发师为顾客理发。实现代码://////通知理发师///privatevoidbtnWakeBarber_Click(objectsender,EventArgse){if(dequeueIndex.Count!=0){picBaber.Show();this.btnStartBarber.Enabled=true;}else{MessageBox.Show("由于没有顾客等待理发,所以不必通知理发师!");picBaber.Hid
6、e();this.btnStartBarber.Enabled=false;}picBaber.Image=Image.FromFile(@"Images"+11+".bmp");//理发师的图片this.btnWakeBarber.Enabled=false;}开始理发按钮:实现模拟理发师为顾客理发;等候室的顾客减一,顾客进入工作室理发;理发完成按钮:模拟理发过程结束。实现代码://////剪发完成///privatevoidbtnEndBarber_Click(objectsender,EventAr
7、gse){System.Threading.Thread.Sleep(300);this.picBarbering.Hide();第8页共8页709add7c5c0b1648822ff74b94972f1c.docthis.btnStartBarber.Enabled=true;MessageBox.Show("理发完成!");this.btnEndBarber.Enabled=false;}1.设计结果及分析点击开始模拟按钮顾客进入发厅等候;点击通知理发师按钮;第8页共8页709add7c5c0b1648822ff74b94972f1c.do
8、c点击开始理发按钮;点击理发完成按钮;分析:运行结果基本正确,有时会出现错误。程序中顾客为互斥的关系,理发师和工作室的椅子是临界资源,采用用两个队列来
此文档下载收益归作者所有