【C++服务器入门基础------7.IPC进程间通信--信号量】

大学生寒假在家过于无聊,整理一下以前学过的知识,顺便复习一下,水平较低,专业性差,仅供参考,不喜勿喷(反正也没人看)。心虚啊。。。

一、信号量

(1)概念

信号量是一种变量,它只能取正整数值或0,对这些数只能进行两种操作:等待和信号

用两种记号来表示信号量的这两种操作:

P(semaphore variable) 代表等待 -1

V(semaphore variable) 代表信号 +1

(2)分类

最简单的信号量是一个只能取“0”和“1”值的变量,也就是人们常说的“二进制信号量”

可以取多种正整数值的信号量叫做“通用信号量”

(3)PV操作

假设我们有一个信号量变量sv,则pv操作的

定义如下

P(sv):如果sv的值大于零,就给它减去1;如果sv的值等于零,就挂起该进程的执行

V(sv): 如果有其他进程因等待sv变量而被挂起,就让它恢复执行;如果没有进程因等待sv变量而被挂起,就给

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值