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