Linux操作系统之进程间通信—信号量
创始人
2024-05-02 13:48:05

文章目录

  • 一、信号量的定义?
  • 二、信号量的使用
  • 三、ipcs的使用

一、信号量的定义?

信号量是一个特殊的变量,一般取正数值。它的值代表允许访问的资源数目,获取资源时,需要对信号的值进行原子减一,该操作被称为p操作。当信号量值为0时,代表没有资源可用,p操作会阻塞。释放资源时需要对信号量的值进行原子加一,该操作称为V操作。信号量主要用来同步进程。信号量如果只取0,1,将其称为二值信号量。如果信号量的值大于1,则称之为计数信号量。

二、信号量的使用

操作信号量的接口介绍:

semget() 创建或者获取已存在的信号量
在这里插入图片描述

semop() 对信号量进行改变P操作 ,或者V操作
在这里插入图片描述

semctl() 控制信号量
加粗样式
首先对函数进行封装
sem.h头文件
在这里插入图片描述
sem.c 进行函数实现
1、sem_init()函数
在这里插入图片描述
2、sem_p()函数
在这里插入图片描述
sem_v()函数
在这里插入图片描述
4.sem_destory函数
在这里插入图片描述
设置两个进程a.c 、b.c
1、a.c
在这里插入图片描述
2、b.c
在这里插入图片描述
运行结果
只能为:AABBAABBAABBAABBAABB
原因:AABBAABB只能成对的出现才能代表进程同步机制。

三、ipcs的使用

ipcs 查看消息队列,共享内存,信号量
在这里插入图片描述
ipcrm -s semid 删除信号量

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...