单选题 每执行一次P操作,信号量S减1,如果减1后______,则该进程继续执行;若______,则该进程将被阻塞,并被插入到该信号量对应的等待队列中。
  • A.S大于0
  • B.S大于等于0
  • C.S小于0
  • D.S小于等于0
【正确答案】 B、C
【答案解析】如果执行之后S大于等于0,则表明此次申请资源成功,进程可以继续执行;如果执行之后S小于0,则表明本次申请未能得到满足,因此插入到等待队列中。 类似地,也可以总结出v操作的相关规律: 每执行一次V操作,信号量S加1,如果加1后S大于0,则该进程继续执行;若S小于等于0,则从该信号量对应的等待队列中取出一个进程,并使该进程的状态变为就绪状态。 如果执行之后S大于0,则表明当前没有等待的进程,当前进程不需要执行唤醒操作,继续执行即可;如果执行过V操作后S小于等于0,说明当前队列中有等待的进程,需要将其中的一个唤醒。