永发信息网

p.v.的什么是信号量

答案:1  悬赏:40  手机版
解决时间 2021-04-06 22:51
p.v.的什么是信号量
最佳答案
信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由PV操作来改变。
一般来说,信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;
当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;
若S<=0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。
利用信号量和PV操作实现进程互斥的一般模型是:
进程P1 进程P2 …… 进程Pn
…… …… ……
P(S); P(S); P(S);
临界区; 临界区; 临界区;
V(S); V(S); V(S);
…… …… …… ……
其中信号量S用于互斥,初值为1。
使用PV操作实现进程互斥时应该注意的是:
(1)每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。
(2)P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。
(3)互斥信号量的初值一般为1。
利用信号量和PV操作实现进程同步
PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国人为啥要学古文
小姑子让我到她干淘宝该去吗?
美国南部毗邻A.墨西哥B.加拿大C.巴西D.哥伦比
桑蚕丝能融化做肥料吗
4GU盘只剩4M,WHY?
李师傅老汤砂锅酱骨在哪里啊,我有事要去这个
想入一块斯蒂卡底板,请问各系列最值得收藏以
为什么港剧不在内地播放却也要配国语版
率土之滨6级地要多少兵力才能攻打
广州到郑州的EMS要几天?如何收?
长虹液晶电视遥控器和机顶盒遥控器怎样设置
2016逍客2.0l动力怎么样
谁知到哪部变形金刚是三维动画的 原来星空卫
东营鸿达物流公司拖欠工资
现在中国大陆南方的刘氏和北方的刘氏那支是正
推荐资讯
沟邦子熏鸡在哪里啊,我有事要去这个地方
提现怎么做账 怎么处理
盐杜仲功效
读EMBA是选择国内还是国外
梦幻西游指定ID过继孩子,被指定的ID会有系统
公司擅自以本人名义承接工程属于侵权行为吗
当变压器二次侧突然短路时电流会产生什么样的
《步步惊心》里面有个承欢格格。历史上真有这
高仁牌生态板18厘实木多层板多少价钱
中国电信沿河手机卖场在哪里啊,我有事要去这
有前科又持刀致人轻伤要判刑多久?
路易雅琪美容院地址好找么,我有些事要过去,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?