版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大学男女洗澡问题第四小组问题描述
假设一个大学为了卖弄其政治上的正确性,准备把美国最高法院的信条“平等但隔离其本身就是不平等”运用在种族上也运用在性别上,从而结束校园内长期使用的浴室按性别隔离的做法。但是,为了迁就传统习惯,学校颁布法令:当有一个女生在浴室里,那么其他女生可以进入,但是男生不行。反之亦然。在每个浴室的门上有一个滑动指示符,表示当前处于以下的三种可能状态之一:
空
有女生
有男生
用你偏好的编写伪代码(女生进入,男生进入,女生离开,男生离开)请用P.V操作PV操作PV操作及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,但S小于零时则表示正在等待使用共享资源的进程数。P操作申请资源:(1)S减1;(2)若S减1后仍大于等于零,则进程继续执行;(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转入进程调度。V操作释放资源:(1)S加1;(2)若相加结果大于零,则进程继续执行;(3)若相加结果小于等于零,则从该信号的等待队列中唤醒一个等待进程,然后再返回原进程继续执行或转入进程调度。设计思路(以男生为例)一、当一个男生想进入澡堂的时候,他要判断:①澡堂是不是满了P(empty)②澡堂里有没有女生P(g)
如果满了,或者有女生,那么P操作就会调用阻塞原语来阻塞男生进程,其结果表现为男生必须等待其中,g是根据女生人数生成的一个信号量。二、如果男生可以进入澡堂,即P(empty)和P(g)均未阻塞
//男生进入澡堂
boynum++;三、进入澡堂之后,调用V(mutex)释放资源,来允许其他人进入四、//洗澡,离开boynum--;
五、如果最后一个男生洗完澡之后,就通知正在等待的女生进入(如果有的话)(进程通信)
if(boynum==0)V(b);六、释放澡堂资源设计要点和关键技术线程的同步与互斥信号量上的P、V操作算法使用JAVA开发平台伪代码intboynum=0;//表示澡堂中男生人数,初始值为0intgirlnum=0;//表示澡堂中女生人数,初始值为0booleanb=1;//表示澡堂中是否有男生,b=1表示没有男生,b=0表示有男生booleang=1;//表示澡堂中是否有女生,g=1表示没有女生,g=0表示有女生intempty=n;//表示澡堂的容量,最多能容纳多少人,表示空位置的个数booleanmutex=1;//互斥信号量
boy(){//男生进程
P(mutex);//控制男女生不能同时进入澡堂
p(empty);//进入条件一:澡堂满时不能进入
g=have(girlnum);//当girlnum>0时(有女生),返回0;当girlnum=0时(没女生),返回1P(g);//进入条件二:有女生时不能进入
//男生进入澡堂
boynum++;V(mutex);//放在这个位置是为了避免澡堂只被一个人占用的情况
//洗澡,离开
boynum--;if(boynum==0)V(b);//最后一个男生离开澡堂后,即boynum=0,就通知女生进入(唤醒正在等待的女生进程)
V(empty);}girl(){//女生进程
P(mutex);P(empty);b=have(boynum);P(b);注意事项1、P(mutex)是为了满足忙则等待的原则,避免男女生同时进入(进程互斥)2、empty表示澡堂的容量,或者说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 研发部门休假管理方案
- 学校地暖工程服务合同
- 精密仪器电焊工招聘合同
- 墙绘施工合同公园景观墙绘
- 房屋户外景观水景施工合同
- 矿山企业高压电工岗位协议
- 水下工程作业合同协议书内容
- 电子游戏租赁协议
- 智能环保定额计价施工合同
- 江苏大学《传热学基础》2021-2022学年第一学期期末试卷
- 江苏省南京市六校联考2024-2025学年高一上学期期中考试英语试卷(含答案含听力原文无音频)
- 企业公司工会管理制度
- 肺结节诊治中国专家共识(2024年版)解读
- 羽毛球运动教学与训练智慧树知到答案2024年黑龙江农业工程职业学院
- 2024年人教版八年级道德与法治上册期中考试卷(附答案)
- (高清版)JTGT 3365-02-2020 公路涵洞设计规范
- 气压止血带在四肢手术中应用的专家共识(2021版)
- 多重中介模型及其应用
- 可分离变量的微分方程(8)课件
- 苏教版小学一年级数学上册期末试卷
- 火灾报警系统技术规范书
评论
0/150
提交评论