单选题 当一个进程因在互斥信号量上执行V操作而导致唤醒另一个进程时,则互斥信号量现在的取值为______。
  • A.大于0
  • B.小于0
  • C.大于等于0
  • D.小于等于0
【正确答案】 D
【答案解析】V操作能够唤醒另一个进程,表明执行过V操作之后,在等待队列中或许还存在等待的进程,或者被唤醒的进程是等待队列中的最后一个。因此信号量取值为负数或刚好为0,本题选择D选项。 有的题也会对P操作考查类似的问题,下面举一个简单例子。 如果对信号量S执行P操作后,则进入等待队列的条件就是当前没有资源能够分配给进程,因此反映在信号量的值上就是在P操作之前信号量的值已经小于等于0,表示刚好没有资源且无等待进程,或者没有资源但还有其他等待进程。因此执行P操作前,信号量的值小于等于0,执行过P操作之后,信号量的值小于0。