学生小王在选课时编写了一个程序,为了保证有足够的学分,他先选了课程B,然后继续申请心仪的课程A。若能选到课程A,则退掉课程B。部分程序如下: count.A //表示课程A的信号量 count.B //表示课程B的信号量 { … P(count.A); select_course(A); relese_course(B); V(count.B); … } 请问:小王的程序能否达到选到课程A又退掉课程B的目的?

🔥 396 热度
A 一定能
B 一定不能
C 有可能
D 程序无法运行
参考答案
C
解析
C【解析】当P(count.A);永远阻塞的情况下,小王选不了A课程;若有人退选,小王将完成选到课程A又退掉课程B的目的。故选择C选项。