[1][13][单选]学生小王在选课期间编写了一个程序,为了保证有足够的学分,他先选了课程 B,然后继续申请心仪的课程 A。若能选到课程 A,则退掉课程 B。部分程序如下:
count.A //表示课程A的信号量 count.B //表示课程B的信号量 { ... P(count.A); select_course(A); release_course(B); V(count.B); ... }
请问:小王的程序能否达到选到课程A又退掉课程B的目的
一定能
一定不能
有可能
程序无法运行
答案
有可能
解析
当 count.A 永远阻塞的情况下,小王选不了 A 课程;若有人退选,小王将有可能选到课程 A 又退掉课程 B 的目的,故本题答案选 C。涉及考点为第 4 章并发与同步。
转载请注明出处。