文章
97
粉丝
0
获赞
2
访问
12.9k

评分及理由
(1)得分及理由(满分7分)
学生答案整体思路正确,实现了三人植树过程的同步。定义了五个信号量,其中:
tieqiu = 1 对应标准答案的 mutexT,用于铁锹互斥,正确。shangxian = 2 对应标准答案的 sk = 3,用于控制可挖树坑数量。题目要求“当树坑数量小于3时,甲才可以挖树坑”,即初始可挖坑数为3。学生设为2,这是一个逻辑错误,会导致并发流程与题目要求不符,扣1分。shukeng = 0 对应标准答案的 empty = 0,表示已挖好待种树的坑,正确。xinshu = 0 对应标准答案的 water = 0,表示已种好待浇水的树,正确。shuitong = 1(水桶信号量)。题目中水桶只有一个,但浇水动作(丙)本身不与其他动作共享资源(铁锹用于挖和填,水桶只用于浇),且浇水动作是顺序触发的(由乙种完树后发信号),因此水桶的互斥访问不是必须的,属于冗余但不影响核心同步逻辑的信号量,不扣分。流程上:甲挖坑前等待 shangxian,挖完后释放 shukeng;乙等待 shukeng,种树填土后释放 shangxian 和 xinshu;丙等待 xinshu 后浇水。这个同步链是正确的。
主要扣分点:shangxian 初值应为3而非2,这是一个明确的逻辑错误,扣1分。
因此,本题得分:7 - 1 = 6分。
题目总分:6分
登录后发布评论
暂无评论,来抢沙发