文章
60
粉丝
0
获赞
0
访问
3.8k
semaphore(AC)//AC的同步量
semaphore(BC)//BC的同步量
semaphore(CD)//CD的同步量
semaphore(CE)//CE的同步量
semaphore(EF)//EF的同步量
coBegin
process A()
{
执行A操作;
signal(AC);
}
process B()
{
执行B操作;
signal(BC);
}
process C()
{
wait(AC);
wait(BC);
执行C操作;
signal(CD);
signal(CE)
}
process D()
{
wait(CD);
执行D操作;
}
process E()
{
wait(CE);
执行E操作;
signal(EF);
}
\
process F()
{
wait(EF);
执行F操作;
}
评分及理由
(1)信号量定义部分得分及理由(满分2分)
学生定义了5个信号量(AC、BC、CD、CE、EF),与标准答案的完整版本一致,但未明确给出初值。信号量命名和数量正确,但缺少初值说明扣1分。得1分。
(2)线程T1执行部分得分及理由(满分3分)
学生将A、E、F分别写成独立进程,不符合题目要求的"T1执行A、E和F"(应在同一线程内)。虽然同步逻辑正确,但线程划分错误属于逻辑错误。扣2分。得1分。
(3)线程T2执行部分得分及理由(满分3分)
学生将B、C、D分别写成独立进程,不符合题目要求的"T2执行B、C和D"(应在同一线程内)。虽然同步逻辑正确,但线程划分错误属于逻辑错误。扣2分。得1分。
题目总分:1+1+1=3分
登录后发布评论
暂无评论,来抢沙发