信号量和pv操作

pv操作主要用于进程管理,且其通常和信号量联合使用。

 P(S):①将信号量S的值减1,即S=S-1;

        如果S>=0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。

V(S):①将信号量S的值加1,即S=S+1;

        如果S>0,则该进程继续执行;否则释放队列中等待信号量的进程。


信号量广泛用于进程或线程间的同步和互斥,其主要用途有以下三种:

1.对临界区代码加锁(实现互斥)。

2.标记当前可用资源数。

3.线程间同步工具(类似生产者消费者中生产者和消费者通信当前是否有可用,是否满了)。


参考如下:

信号量与PV操作

你可能感兴趣的:(信号量和pv操作)