文章
389
粉丝
5
获赞
19
访问
27.3k
评分及理由
(1)得分及理由(满分7分)
学生答案存在严重逻辑错误。主要问题在于将所有操作写在了同一个进程块内,这完全违背了使用信号量进行进程同步的基本前提——即多个并发进程(或线程)通过信号量协调执行顺序。学生的代码本质上是一个顺序执行流程,信号量的wait和signal操作在同一流程内对同一个信号量连续执行,无法起到任何同步作用。例如,在执行A操作后立即wait(S_AC),但由于S_AC初值为0,此wait操作将导致进程阻塞,无法继续执行。
正确的做法应为每个操作(A, B, C, D, E)对应一个独立的并发进程,通过信号量的P/V操作来表述“完成前置任务后唤醒后续任务”的语义。学生答案未能正确描述操作间的同步关系。
因此,本题扣7分。
题目总分:0分
登录后发布评论
暂无评论,来抢沙发