信号量按其用途可分为哪几种,各自PV操作特性是什么 - 爱问答

(爱问答)

信号量按其用途可分为哪几种,各自PV操作特性是什么

信号量按其用途可分为一般信号量和二元信号量

一般信号量:允许取值为非负整数,主要用于解决进程同步问题。

二元信号量:仅允许取值为0 和1,主要用于解决进程互斥问题。

PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下:    

P(S):

①将信号量S的值减1,即S=S-1;            

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

V(S):

①将信号量S的值加1,即S=S+1;            

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

二元信号量:

实际上把记录型信号量s 所需的值放到c 上,把P、V 操作中对信号量s 的增、减变成为对c 的增、减,把本来应该在s 队列上挂起的进程改为挂在s2 信号量上。信号量s1 的初值为1,用作为操作c 变量时的互斥信号量。

利用信号量和PV操作实现进程同步 PV操作是典型的同步机制之一。

用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。

用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。     

使用PV操作实现进程同步时应该注意的是:     

(1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系况下,哪个进程先执行,哪些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置哪些信号量。    

(2)信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。     

(3)同一信号量的P、V操作要成对出现,但它们分别在不同的进程代码中。

下一篇:Intel酷睿i53230M玩梦幻五开卡

上一篇:百度网盘普通用户能解压多大的压缩包

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?