文章
87
粉丝
0
获赞
1
访问
17.3k
Semaphore A=0;
Semaphore B=0;
Semaphore C=0;
线程T1
While(true)
{
finish A;
V(A);
P(C);
finish E;
finish F;
}
线程T2
While(true)
{
finish B;
V(B);
P(A);
P(B);
finish C;
V(C);
finish D;//c已经完成,直接运行D即可
}
评分及理由
(1)得分及理由(满分8分)
学生答案得分:6分
理由:
P(B)
的调用是多余的,因为B的执行不需要等待其他操作,直接V(B)
即可。这里会导致线程T2不必要的阻塞,扣1分。finish F
的执行没有等待E
完成(虽然题目中F需要在E完成后执行,但学生代码中未体现这一约束),扣1分。题目总分:6分
登录后发布评论
暂无评论,来抢沙发