文章
164
粉丝
0
获赞
1
访问
91.3k
Semaphore AC=0;//A指向C的边
Semaphore BC=0;
Semaphore CD=0;
Semaphore CE=0;
Semaphore EF=0;
进程A
{
执行;
V(AC);
}
进程B
{
执行;
V(BC);
}
进程C
{
P(AC);
P(BC);
执行;
V(CD);
V(CE);
}
进程D
{
P(CD);
执行;
}
进程E
{
P(CE);
执行
V(EF);
}
进程F
{
P(EF);
执行;
}
评分及理由
(1)信号量定义及初值(满分2分)
学生正确定义了5个信号量AC、BC、CD、CE、EF,初值均为0,与标准答案一致。得2分。
(2)线程T1的同步实现(满分3分)
学生将操作A、E、F分别放在不同进程中,但题目要求是T1执行A、E、F,T2执行B、C、D。学生没有按照题目要求的线程划分来组织代码,而是为每个操作创建独立进程,这不符合题目要求。虽然同步逻辑正确,但线程划分错误属于逻辑错误。扣1分。得2分。
(3)线程T2的同步实现(满分3分)
同样地,学生将操作B、C、D分别放在不同进程中,而不是按照题目要求的T2线程执行这三个操作。同步逻辑正确但线程划分错误。扣1分。得2分。
题目总分:2+2+2=6分
登录后发布评论
暂无评论,来抢沙发