文章
196
粉丝
0
获赞
1
访问
26.1k
评分及理由
(1)信号量定义部分(满分2分)
得分:1分
理由:学生定义了两个信号量A和C,初值均为0,这在一定程度上反映了对同步关系的理解。但标准答案中需要至少两个信号量(S_AC和S_CE)来正确控制跨线程的同步关系(A→C和C→E)。学生只定义了两个信号量,且命名不够清晰(应用S_AC、S_CE等),未能完全覆盖所有必要的同步点,因此扣1分。
(2)线程T1实现部分(满分3分)
得分:1分
理由:学生在线程T1中使用了wait(A)和signal(A),这在逻辑上是错误的,因为A操作应由T1执行,不应等待自己发出的信号。此外,学生缺少对操作A的执行,直接进行了信号量操作,且对E和F的执行顺序控制不完整(缺少对E的前置等待和对F的同步)。但学生正确地在E操作前使用了wait(C),这反映了对C→E同步的理解,因此给1分。
(3)线程T2实现部分(满分3分)
得分:2分
理由:学生在线程T2中正确执行了B操作,并使用wait(A)等待A完成,这符合A→C的同步要求。执行C操作后使用signal(C)通知E操作,这也正确。但学生缺少对C操作的前置等待(应等待A和B都完成,而学生只等待了A),且D操作的执行没有同步控制(应等待C完成,但学生直接执行)。因此扣1分。
题目总分:1+1+2=4分
登录后发布评论
暂无评论,来抢沙发