第5讲 随堂典型问题填空题1

一.填空题(共1题,100.0分)
1
问题:用P、V操作解决下面问题

司机进程:

REPEAT

启动车辆

正常驾驶

到站停车

UNTIL…

售票员进程:

REPEAT

关门

售票

开门

UNTIL…

解答:

设置信号量:

设同步信号量S_Door,表示是否关好车门,初值为0;设同步信号量S_Stop,表示是否停稳车,初值为0。

则司机进程和乘务员进程描述如下:

司机进程()

{ while(1){

(【1】);

启动;

驾驶;

停车;

(【2】);}

}

乘务员进程()

{while(1){

关门;

(【3】);

售票;

(【4】);

开门;}

}

请分别在【1】【2】【3】【4】四个空白处填写正确的wait操作或signal操作。

(注意:wait和signal字母需要用小写字母,圆括号使用英文半角输入方式书写,信号量与题目所定义的信号量保持一致。)

比如填上答案为:wait(S_Door)或signal(S_Door)

正确答案:

第一空:
wait(S_Door)

第二空:
signal(S_Stop)

第三空:
signal(S_Door)

第四空:
wait(S_Stop)

我的答案: 得分: 100.0分
第一空:
wait(S_Door)

第二空:
signal(S_Stop)

第三空:
signal(S_Door)

第四空:
wait(S_Stop)

批语

答案解析:

答案解析:

同步要求:先关门,后开车;

先停车,后开门

设置信号量:

设同步信号量S_Door,表示是否关车门,初值为0;设同步信号量S_Stop表示是否停车,初值为0。

则司机进程和乘务员进程描述如下:

司机进程()

{ while(1){

wait(S_Door);

启动;

驾驶;

停车;

signal(S_Stop);}

}

乘务员进程()

{while(1){

关门;

signal(S_Door);

售票;

wait(S_Stop);

开门;}

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值