变量说明:
6.调试过程
我翻看了老师给我们的ppt资料,了解了一下多线程的使用方法。创建进程,等待进程结束以及销毁进程,还有信号灯的使用有了基本的了解,对该课程设计的解决有了很好的基础,于是对中的一些有关进程抢占的程序进行了调试。
从结果中我理解到了:线程的抢占,然后想到自己的课程设计题目:用多线程同步方法解决读者阅览问题,我决定了我要用10个线程。
在第一次完成代码后,经过调试,发现在打印当前座位信息是也必须上互斥锁,修复了打印座位信息的错误。最后得到如下逻辑:
首先创建reader函数,开始用p(sem_sit)信号灯判断座位是否被坐满,然后用p(sem_mutex)互斥信号灯实现上锁操作,然后找座位坐下。然后v(sem_mutex)解开互斥锁,阅读四秒,上锁,打印座位信息,当前读者离开座位,读者注销。解开互斥锁,
9
p(sem_sit)座位资源加一。main函数初始化信号灯, sem_init(&sem_sit,0,5); //初始化座位资源信号灯sem_init(&sem_mutex,0,1);//初始化互斥信号灯。创建10个reader线程。
7.总结
经过了这次操作系统课程设计,使我更加理解了多线程的作用和他们抢占的意义,而且对信号量的使用和互斥锁的作用有了更加深刻的理解。能够找到程序死锁的原因以及可能带来死锁的因素,并能够解决死锁问题。能够将多线程同步运行,共有资源多线程使用能够使用信号灯以及互斥锁来避免发生与时间相关的错误,将多线程程序正确无误的持续运行。
10
本科生课程设计成绩评定表
班级: 姓名: 学号: 序号 1 2 3 4 5 6 评分项目 学习态度认真、遵守纪律 设计分析合理性 设计方案正确性、可行性、创造性 设计结果正确性 设计报告的规范性 设计验收 满分 10 10 20 40 10 10 总得分/等级 实得分 评语: 注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、
及格(60-69分)、60分以下为不及格
指导教师签名:
年 月
11
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统课设报告(3)在线全文阅读。
相关推荐: