文章
292
粉丝
0
获赞
2
访问
79.6k

评分及理由
(1)信号量定义部分得分及理由(满分2分)
学生定义了三个信号量:c[n](筷子)、b[m](碗)和mutex(互斥锁)。其中c[n]和b[m]的初值都设为1,这与标准答案中筷子信号量初值为1一致,但碗的信号量定义方式与标准答案不同。标准答案使用一个bowls信号量表示可用碗的数量(初值为min(n-1, m)),而学生使用m个独立的碗信号量,这种思路虽然不同但理论上可行。mutex信号量的引入是为了解决资源分配时的互斥问题,但具体使用方式需要进一步分析。此部分没有明显错误,得2分。
(2)资源申请逻辑得分及理由(满分4分)
学生的资源申请逻辑存在严重问题:
与标准答案相比,学生的解决方案在防止死锁和提升并发度方面存在明显不足。扣3分,得1分。
(3)资源释放逻辑得分及理由(满分2分)
学生的资源释放逻辑基本正确:在就餐后正确释放了两根筷子和使用的碗。虽然碗的释放使用了jnum变量记录,但逻辑上是可行的。此部分没有明显错误,得2分。
题目总分:2+1+2=5分
登录后发布评论
暂无评论,来抢沙发