IPC之——消息队列

消息队列作用:

  可以用于两个没有联系的进程间通信,创建一个消息队列类似于打开了一个文件,两个不同的进程都可以进行操作

消息队列之函数介绍:

头文件:<sys/type.h> <sys/ipc.h> <sys/msg.h>

1.msgget(key_t,int msgflg)://创建消息队列  返回值为消息队列ID号

  key_t:键值,内核通过key来生成消息队列(如0333,055等),当设置成IPC_PRIVATE时为私有键,key为0,默认创建一个新的消息队列

  msgflg:IPC_CREAT或IPC_EXCL,以及权限,如(msgid=msgget(033,IPC_CREAT|0600)

2.msgctl(int msqid,int cmd,struct msqid_ds *buf)
  cmd:IPC_STAT(查看消息队列信息)   ,IPC_RMID(删除一个消息队列)

  buf:是一个结构体,根据cmd而考虑加什么参数,如果是删除可以写NULL,如果是获取信息就写一个结构体变量

3.msgsnd(int msqid,const void *msgp,size_t msgsz,int msgflag)//发送消息,成功返回0,失败返回-1

  msgp:可以将消息封装成一个结构体,也可以是以一个数组,但是前八为必须是消息类型

  msgsz:消息长度指有效数据,不包括type;

  msgflag:IPC_NOWAIT,消息满时不阻塞 ,立即返回

      0:无要求,满时阻塞

4.msgrcv(int msgid,void *msgp,size_t msgsz,long msgtyp,int msgflg)//接收消息

  msgp:同上,可以是结构体也可以是数组

  msgsz:消息的数据长度,不包括type

  msgtyp:表示取的消息类型:

    0:表示取第一个消息

    num:表示取消息类型为num的消息(num为正整数)

    -num:如(-4),表示取type<=4(-4绝对指)消息,如果有多个成立的消息,从小到达,从        前到后取。。。作用(用于优先级别的控制)

  msgflg: 0表示无特殊操作选项

      IPC_NOWAIT:非阻塞

 

转载于:https://www.cnblogs.com/edan/p/8900444.html

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

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

相关文章

【招聘(上海)】To B数字化营销公司-市场易,直招.NET后端研发工程师

【招聘背景】公司&#xff1a;上海光潾网络科技有限公司成立于2016年&#xff0c;系上海市高新技术企业&#xff0c;2021年获数千万A轮融资项目&#xff1a;公司自主研发营销自动化SaaS平台- 市场易 (Custouch) &#xff0c;通过数字手段为B2B营销赋能&#xff0c;现服务100多家…

div 包裹_如何查看到达之前收到的包裹和邮件

div 包裹The United States Postal Service, UPS, and FedEx all offer online dashboards where you can see exactly what packages (and letters, in the case of the US Postal Service) are scheduled to arrive at your address. They’ll even email and send you text …

py文件的运行

安装过程及配置 安装过程准备&#xff1a; 下载好Python的安装程序后&#xff0c;开始安装&#xff0c;在进入安装界面后一定确保勾选将Python加入到系统环境变量的路径里。如图所示&#xff1a; 2如果没有选取&#xff0c;那么按照下面的步骤进行操作。在桌面上用鼠标右键点击…

加州大学信息科学院长:数据科学课程不只是工程师才修的

一般在考虑围绕数据科学的基础教育时&#xff0c;传统上的重点仍停留在计算和工程等硬性技能上。不过&#xff0c;在周四于纽约市召开的GigaOm结构数据&#xff08;Structure Data&#xff09;会议上&#xff0c;美国加州大学伯克利分校信息科学院长AnnaLee Saxenian教授表示&a…

查看安装软件/Select-object/Where-Object xxx -like

查看已安装软件 1.通过注册列表查看 $Path(HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*,HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*,HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*,HKCU:\SOFTWARE\WOW6432…

网络编程基础(一)

一.楔子 你现在已经学会了写python代码&#xff0c;假如你写了两个python文件a.py和b.py&#xff0c;分别去运行&#xff0c;你就会发现&#xff0c;这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据&#xff0c;你要怎么做呢&#xff1f; 这个问题以…

dotnet-exec 让 C# 程序更简单

dotnet-exec 让 C# 程序更简单Introdotnet-exec是一个可以执行 C# 程序而不需要项目文件的命令行工具&#xff0c;并且你可以指定自定义的入口方法不仅仅是Main方法在 python/NodeJs 里&#xff0c;可以使用python xx.py/node xx.js来运行代码&#xff0c;在 C# 中一般是需要项…

office数据集dslr_如何将照片从DSLR无线传输到智能手机

office数据集dslrYou’ve got a great digital camera. You’ve got all your social media apps on your phone. Wouldn’t it be nice if you could snap a beautiful shot with your DSLR and shuttle it right over to your phone to throw up on Facebook or Instagram? …

文件管理、命令别名和glob

一、复制命令:cp src dest1.如果scr是文件a.如果dest不存在&#xff0c;则新建dest并将src的内容填充到dest里b.如果dest存在&#xff0c;则会用src里的内容覆盖dest里的内容&#xff0c;即覆盖dest2.如果src是目录a.如果dest不存在&#xff0c;则新建dest,然后把src下的内容复…

大数据汇聚全球精英

投资10亿美元&#xff0c;选址贵安新区&#xff0c;建设iCloud服务的中国主数据中心。7月12日苹果公司的这一举动再次将全球目光聚集在贵州。 “贵州有令人瞩目的增长&#xff0c;是中国新数据中心领域最具发展潜力的地点之一。”苹果公司环境、政策和社会事务副总裁丽萨杰克逊…

django版本区别/与版本匹配

一、区别 路由层 1.django 1.x路由层使用url方法 django 2.x和3.x版本使用path方法 url() 第一个参数支持正则 path()第一个参数是不支持正则的 可以使用 re_path替代url() from django.urls import re_path # django2.0中的re_path #不建议导入url,不能区分版本 #from djang…

复制

ab,像这样的复制&#xff0c;本质上a与b引用的是同一对象&#xff0c;当a改变时相应的b也会做出同样的改变&#xff1b; 对于列表和字典这样的容器对象分为&#xff1a;浅层复制blist(a)和深层复制bcopy.deepcopy(a) 浅层复制对对象共有的元素进行改变时同时改变&#xff1b; 深…

天坑,这样一个lambda随机取数据也有Bug

前几天&#xff0c;一位网友跟我说他编写的一段很简单的代码遇到了奇怪的Bug&#xff0c;他要达到的效果是从一个List中随机取出来一条数据&#xff0c;代码如下&#xff1a;var random new Random(); var users Enumerable.Range(0, 10).Select(p > new User(p, "A&…

中兴面试一个星期没有回音_如何在没有回声的情况下从亚马逊获取即时时尚建议...

中兴面试一个星期没有回音The Echo Look is a new device from Amazon that’s able to take a look at your outfits and tell you which one looks the best on you. However, you actually don’t need the Echo Look to get this kind of instant fashion advice from Amaz…

table分页的简单实现逻辑

为什么80%的码农都做不了架构师&#xff1f;>>> //table分页函数showPageNum: function(pageNum, allPageNum) { //pageNum点击第几页&#xff0c;allPageNum总页数$(".c_page .c_page_list").children().remove();for(var i1;i<allPageNum;i){var p…

django22:复制网页与css/时区设置

复制网页 1.复制文章 右击——检测——选中——复制——copy outerhtml (整体html) 2.复制点赞点踩 a.复制html b.css也要复制 如果是模板&#xff0c;在html head内 {% block css %}{% endblock %} 网页 {% block css %}<style>#div_digg {float: right;margin-…

Cocos Creator Ui系统

为什么80%的码农都做不了架构师&#xff1f;>>> 游戏场景&#xff1a;开发时组织游戏内容的中心&#xff1b;其中渲染根节点Canvas&#xff0c;包括属性 Design Resolution&#xff08;设计分辨率&#xff09; fit width,fit height 设计分辨率是内容生产者在制作场…

关于spring boot多张表建立外健的讨论

现在有四张表&#xff1a;student(学生表)、blogs(博客表)、comment(评论表)、reply(回复表) 现在说一下这四张表&#xff1a; student(学生表)&#xff1a;学生的信息记录表 blogs(博客表)&#xff1a;学生发表的博客表 comment(评论表)&#xff1a;学生评论博客文章的表 repl…

推荐一个使用 .NET 6 开发的开源媒体系统

你好&#xff0c;这里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;实用的工具和组件&#xff0c;希望对您有用&#xff01;什么是 Jellyfin ?Jellyfin 是一个免费的媒体系统&#xff0c;它可以让您更好的管理媒体&#xff0c;包括电影&#xff0c;音乐&…

亚马逊echo中国使用_如何将Amazon Echo与蓝牙扬声器配对以获得更大的声音

亚马逊echo中国使用Although both the full size Echo and the Echo Dot have respectable sound for their given sizes, compared to much bigger tabletop Bluetooth speakers (or a full home theater system with Bluetooth support), they’re pretty anemic. Let’s loo…