学生小王在选课时编写了一个程序,为了保证有足够的学分,他先选了课程B,然后继续申请心仪的课程A。若能选到课程A,则退掉课程B。部分程序如下: count.A //表示课程A的信号量 count.B //表示课程B的信号量

admin2020-03-31  37

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

选项 A、一定能
B、一定不能
C、有可能
D、程序无法运行

答案C

解析 当P(count.A)永远阻塞的情况下,小王选不了A课程;若有人退选,小王将完成选到课程A又退掉课程B的目的。故本题答案选择C选项。
转载请注明原文地址:https://kaotiyun.com/show/hc8Z777K
0

最新回复(0)