问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux 怎么查 信号量 被进程p住

发布网友 发布时间:2022-05-01 09:41

我来回答

3个回答

热心网友 时间:2022-06-27 17:45

这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。

一、什么是信号量
为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。

信号量是一个特殊的变量,程序对其访问都是原子操作,且只允许对它进行等待(即P(信号变量))和发送(即V(信号变量))信息操作。最简单的信号量是只能取0和1的变量,这也是信号量最常见的一种形式,叫做二进制信号量。而可以取多个正整数的信号量被称为通用信号量。这里主要讨论二进制信号量。

二、信号量的工作原理
由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们的行为是这样的:
P(sv):如果sv的值大于零,就给它减1;如果它的值为零,就挂起该进程的执行
V(sv):如果有其他进程因等待sv而被挂起,就让它恢复运行,如果没有进程因等待sv而挂起,就给它加1.

举个例子,就是两个进程共享信号量sv,一旦其中一个进程执行了P(sv)操作,它将得到信号量,并可以进入临界区,使sv减1。而第二个进程将被阻止进入临界区,因为当它试图执行P(sv)时,sv为0,它会被挂起以等待第一个进程离开临界区域并执行V(sv)释放信号量,这时第二个进程就可以恢复执行。

三、Linux的信号量机制
Linux提供了一组精心设计的信号量接口来对信号进行操作,它们不只是针对二进制信号量,下面将会对这些函数进行介绍,但请注意,这些函数都是用来对成组的信号量值进行操作的。它们声明在头文件sys/sem.h中。

热心网友 时间:2022-06-27 17:45

sem_init:初始化信号量sem_t,初始化的时候可以指定信号量的初始值,以及是否可以在多进程间共享。
sem_wait:一直阻塞等待直到信号量>0。
sem_timedwait:阻塞等待若干时间直到信号量>0。
sem_post:使信号量加1。
sem_destroy:释放信号量。和sem_init对应。 答案补充 关于各函数的具体参数请用man查看,如man sem_init可查看该函数的帮助

信号量的工作原理
由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们的行为是这样的:
P(sv):如果sv的值大于零,就给它减1;如果它的值为零,就挂起该进程的执行
V(sv):如果有其他进程因等待sv而被挂起,就让它恢复运行,如果没有进程因等待sv而挂起,就给它加1.

举个例子,就是两个进程共享信号量sv,一旦其中一个进程执行了P(sv)操作,它将得到信号量,并可以进入临界区,使sv减1。而第二个进程将被阻止进入临界区,因为当它试图执行P(sv)时,sv为0,它会被挂起以等待第一个进程离开临界区域并执行V(sv)释放信号量,这时第二个进程就可以恢复执行。

Linux的信号量机制
Linux提供了一组精心设计的信号量接口来对信号进行操作,它们不只是针对二进制信号量,下面将会对这些函数进行介绍,但请注意,这些函数都是用来对成组的信号量值进行操作的。它们声明在头文件sys/sem.h中。

热心网友 时间:2022-06-27 17:45

top里面全都有
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机系统怎么更新(手机系统怎么更新到最新版本) 手机操作系统怎么升级最新版本呢 ...一下有没有那种模仿声音的东西,自己给老班打电话时发出的时成年人声... ...经纬线的说法,正确的是( )A.纬线是与地轴垂直并环绕地球的半圆B... 下列有关纬线的说法,正确的是( )A.所有纬线长度都相等B.纬线都是半 ... 下列有关经纬线的说法,错误的是( )A.地球仪上能画无数条经线B.所有纬 ... 关于纬线和纬度的叙述,不正确的是( )A.纬线指示南北方向B.北纬用“N... 纬线的特征中说法错误的是( ) A.所有纬线相互平行 B.纬线等长 C.同一纬... 下列关于纬线的说法,不正确的是( )A.所有纬线都自成圆圈B.纬线长度都... 关于纬线的说法,错误的是( ) A.纬度越高,纬线越短 B.纬线都是圆圈 C... 山p是和家人住还是自己一个人住的呢 我的电脑快捷键不能用了!怎么办? 电脑的快捷键用不了 怎么解决 小米8青春版买的多长时间 小米8青春版买的多长时间 米8青春版? 米8青春版? 处女座的女生性格特点?怎么和她关系好点 处女座女人的性格和特点如何 直冲式马桶冲水无力没漩涡下水慢还有水溢出多些,怎么办? 我是1988年工作的,开始签订合同,到2014年退休的,请问缴养老保险费的年限是多少年? 梭子蟹蒸!怎么清理一下呀? 养老保险金要交多少年 养老保险要交纳多少年? 养老保险要交满多少年? 我是2014年43岁开始买个人社保的,要买多少年才能停止,并领养老金? 养老保险大概要交多少年 某某人,从2014年开始交养老保险,交满15年,要交到那一年才满15年J怎么算法? 养老保险要交多少年新政策2014 求一个非常好玩的角色扮演的游戏,最好有治疗型的人物 p酒店按月住客人怎么称呼 七小福贷款审核多久 同性恋所说的 P,T是什么意思啊 维纳斯贷款靠谱吗? 普通屏,刘海屏,水滴屏,瀑布屏,全面屏,开孔屏各有什么差别优缺点,美学性实用性? 茶叶的好坏怎么分辨? 学生冬至祝福语 冬至祝福语学生 冬至小朋友送什么祝福语 幼儿园冬至祝福语送小朋友 冬至祝福语大全简 冬至送给小朋友的祝福语 可爱的冬至祝福语 一句关于冬至的祝福语 冬至祝福语简短精悍一句话 Windows10 那个版本号最好用,且流畅? 王之蔽甚矣 蔽的意思和用法 群臣吏民能面刺寡人之过者 面的意思: 用法: 沛公军霸上 军的意思和用法 王之蔽甚矣的根本原因是什么,结合甲文内容用自己的语言概述 《邹忌讽齐王纳谏》一句原文对应一句翻译 邹忌认为“王之蔽甚矣”的原因是什么?用自己的话简要概括。