文章
103
粉丝
0
获赞
0
访问
3.7k
semaphore entrance = 1;//入口互斥
semaphore empty = 500;//空位置
semaphore mutex = 1;//互斥改变场内人数
cobegin
参观者进程i:
{
p(mutex)
p(empty)
v(mutex)
p(entrance)
进门;
v(entrance)
参观;
p(entrance)
出门;
v(entrance)
p(mutex)
v(empty)
v(mutex)
}
coend
评分及理由
(1)信号量定义及初值(满分4分)
得分:3分
理由:学生定义了三个信号量,其中empty
和mutex
的初值和含义正确(各1分),但entrance
信号量与标准答案中的mutex
功能重复(扣1分)。
(2)对mutex的P、V操作(满分2分)
得分:1分
理由:学生对mutex
的使用逻辑错误,mutex
应在empty
操作前后保护,但学生的代码中mutex
的P、V操作位置不正确(扣1分)。
(3)对empty的P、V操作(满分1分)
得分:0分
理由:学生对empty
的P、V操作逻辑错误,empty
的P操作应在mutex
保护之外,且V操作应在出门后(扣1分)。
题目总分:3+1+0=4分
登录后发布评论
暂无评论,来抢沙发