PV操作信号量的设置

PV操作与信号灯的处理相关,P表示通过的意思,V表示释放的意思。所谓信号灯即信号量,实际上就是用来控制进程状态的一个代表某一资源的存储单元。信号量sem是一整数,sem大于等于零时代表可供并发进程使用的资源实体数,但sem小于零时则表示正在等待使用临界区的进程数。
   一般需要设置信号量的"事物"是公共资源与事件参与者,如生产消费者问题中的"缓冲区"就是公共资源,"生产者"和消费者"是事件参与者;理发师问题中一个房间的坐椅就是公共资源,理发人和理发
师就是事件参与者.

设置信号量方面的规律:
第一步:确定进程间的关系。进程间的关系有同步关系和互斥关系,则可设置公有信号量和私有信号量,判断进程间是否互斥,关键是看进程间是否共享某一公有资源.
第二步:确定信号量及其值。一般会对公用的资源数设置一个信号量即公用信号量;对各自在公共资源区存有的数量设置为私有信号量;一个公有资源与一个信号量相对应即公有信号量的数量就是资源实体数,公有信号量的值就是公用资源实体数.私有信号量的数量与并发进程的数量对应,然后赋初值.

个人知识点补充:

单缓冲区的生产者消费者问题:可用两个信号量.


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值