信号量和P,V原语总结

信号量和P,V原语的使用可归纳为三种情形:

  1. 把信号量视为加锁标志位,其目的是为了实现对某个唯一的共享数据互斥访问,如各个进程间的某共享变量,数据库中的某个记录。
    共享数据的值与信号量本身的值没有直接关系,信号量的作用仅仅是作为加锁标志位。其特征是信号量初始值为1,然后在一个进程内部对它进行配对的P,V操作。
    这里写图片描述
  2. 把信号量视为某种类型的共享资源的剩余个数,目的是实现对这种类型的共享资源的访问,如各种I/O设备。
    信号量的取值具有实际意义,即为空闲资源的个数。多个进程可以同时使用这种类型的资源,直到所有空闲资源均已用完。
    其特征是信号量的初始值为N(N>=1),然后在一个进程内部对它进行配对的P,V操作
    这里写图片描述
  3. 把信号量作为进程间同步的工具,利用它来设定两个进程在运行时的先后顺序。比如,它可以是某个共享资源的当前个数,但是由一个进程负责生成该资源,而另一个进程负责消费该资源,由此引发了两个进程间的先后顺序。
    其特征是信号量的初始值为N(N>=0),然后在一个进程里对其使用V原语,增加资源个数,而在另一个进程里对其使用P原语,减少资源个数,从而实现两个进程之间的同步关系。
    这里写图片描述
    来源
    https://wenku.baidu.com/view/254d1fc6aa00b52acfc7ca81.html

转载于:https://www.cnblogs.com/EIMadrigal/p/9248211.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值