信号量的PV操作

信号量的PV操作

Content #

P操作 #

申请资源,减量操作

  1. 将信号量S的值减1,即S=S-1;
  2. 如果S>=0,则该进程继续执行;否则该进程置为等待状态。

V操作 #

释放资源,增量操作

  1. 将信号量S的值加1,即S=S+1;
  2. 如果S>0该进程继续执行;否则说明有等待队列中有等待进程,需要唤醒等待进程。

PV操作必须成对出现,但是没有严格的先后顺序。

From #

信号量的实现