Linux操作系统之进程间通信—信号量

news2024/10/6 18:21:38

文章目录

  • 一、信号量的定义?
  • 二、信号量的使用
  • 三、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 删除信号量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/125551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算方阵的迹(主对角线上各元素之和)numpy.trace()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 计算方阵的迹(主对角线上各元素之和) numpy.trace() [太阳]选择题 以下关于python代码表述正确的一项是? import numpy as np A np.array([[1,2,3],[4,5…

ArcGIS基础实验操作100例--实验14设置字段别名

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验14 设置字段别名 目录 一、实验背景 二、实验数据 三、实验步骤 (1&…

CSS知识点精学2-盒子模型

CSS第三特性:优先级 (优先级是三大特性中最复杂且重要的,前两大特性分别是继承性和层叠性,已经在CSS知识点精学1里面讲了) 优先级 特性:不同选择器具有不同的优先级,优先级高的选择器样式会覆…

C++ 函数模板、具体化模板的分文件书写

函数模板分为普通函数模板和具体化函数模板 普通函数模板:函数模板只是函数的描述符,没有实体,创建函数模板的代码整体放在头文件中; 具体化函数模板:具体化函数模板有实体,编译时和普通函数一样&#xf…

Linux多线程互斥量与原理剖析

这里我们简要介绍了线程间互斥相关的概念,并对加锁的一种原理进行了剖析,本人目前理解尚浅,若文中有表述不当的地方还望理解并指正,谢谢大家! 文章目录一:线程间互斥相关背景概念二:互斥量mutex…

摄影测量学:期末考试重点总结

本文参考《摄影测量学》 (王佩军,徐亚明 编著); 01 不同阶段的摄影测量的对比,课本表1-1 (原始资料、投影方式、仪器记不住,那名字总该记住吧?模拟摄影测量、解析摄影测量、数字摄影测量) 02 量…

Python中的所有运算符以及运算符的优先级

文章目录前言一、算术运算符二、赋值运算符三、比较运算符四、逻辑运算符五、位运算符六、运算符的优先级案例实战总结前言 运算符是一些人为定义的特殊符号,比如我们生活当中最常见的 、-、、,它们主要用于数学计算、比较大小和逻辑运算等等。那这些运…

数字孪生医院的智能化运营平台建设内容

随着国务院办公厅《关于推动公立医院高质量发展的意见》印发,高质量发展已成为医院发展的主旋律。当前市场经济正处于增长速度换挡期,医院面临着转型发展的紧迫性,运 用新一代信息技术促进医院管理体系与管理能力现代化发展势在必行。基于数字…

读论文---DETR

DETR 深度学习之目标检测(十一)--DETR详解_木卯_THU的博客-CSDN博客_detr 下面内容取材自上述博客和唐宇迪视频

20221229英语学习

今日新词 premier adj.首要的, 最著名的, 最成功的, 第一的 microscopic adj.极小的;需用显微镜观察的;使用显微镜的 complaint n.抱怨;埋怨;投诉;控告 moth n.蛾 prototype n.原型,雏形 tournament …

面试官:自动化测试都没弄明白,你怎么敢来面试 “ 软件测试开发 ” 的?

面试一直都是一个热门话题,测试员当然也逃不过~纵使你是一个技能全部满点的超优秀测试员,卡在面试这一关也是万万不可的。特别是大厂的测试员,他们面试所问的东西,你在学校通常接触不道,所以没有哪个应届生是一毕业啥也…

关于Nginx 用户认证、SSL证书生成配置的一些笔记

写在前面 分享一些 Nginx 用户认证、SSL 加密配置的笔记博文内容涉及 Nginx 用户认证、SSL 加密配置 Demo通过 OpenSSL 生成使用 SSL 证书、私钥和 CSR Demo 理解不足小伙伴帮忙指正 这世界的一面至始至终是表象,正如另一面至始至终是意志 -----《作为意志和表象的世…

涨价都涨疯了

大家好,我是校长。给大家推荐个好东西,可能大家能用得着。最近新冠肺炎闹得人心惶惶,噢,不对,改名了,叫:新冠感染了。只要专家建议个什么东西,什么东西绝对准脱销,而且是…

计算机软考高级好考吗?需要备考多久?

不简单,整体的通过率只有15%左右。 软考高级一共有五个科目。 信息系统项目管理师:零基础,有考证需求的或者从事管理的人员,项目经理可以考这个。 系统分析师:适合在项目开发过程中定制需求规格说明书,和编…

[内网渗透]—CS生成office宏钓鱼

简介 ​ 宏是一个批量处理程序命令,正确地运用它可以提高工作效率。微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力。如完打开word文件同时要打开某个文件的功能,必须要自己编写一段称之为宏的脚本。具体做法是在“工具”菜单“宏”-“…

图的简要介绍

1、图的基本概念 (1)定义 图是一种较为复杂的非线性结构。 图就是由顶点的有穷非空集合和顶点之间的边组成的集合。通常表示为G(V,E),其中,G表示一个图,V表示顶点的集合,E表示边的集合。 (2&…

Cookie和Session的区别

💟💟前言 ​ 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 Cookie和Session的区别 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄 小王的主页…

北京智和信通:IT资产全生命周期运维监控管理方案

IT资产是企业开展正常业务运营和拓展不可或缺的资源,也是企业财产的重要载体。随着信息科技的快速发展,各企业对IT资产的依赖逐渐增强,IT资产的可靠性和有效性面临着愈来愈大的挑战。例如IT资产管理混乱,通过维护手工台账的方式进…

vue入门(一)搭建vue项目,基础显示,指令

之前接触过vue,但是一直不是十分清晰,学的云里雾里,最近打算再次系统的整理一下,重新入门。还是根据vue官方文档一步一步的来,但是是属于简化的那种,会把我的学习过程都记录下来。 1.vue项目的搭建&#xf…

linux、window跨平台的用vs编程

跨平台的用vs编程 准备 创建linux的console程序 工具 – 选项,找到跨平台 连接linux的服务 注意,需要在linux系统那边配置以下的命令 sudo apt install build-essential 验证编译器是否被成功安装 gcc --versionsudo apt install openssh-server …