一起talk C栗子吧(第九十八回:C语言实例--使用消息队列进行进程间通信二)
各位看官们,大家好,上一回中咱们说的是使用消息队列进行进程间通信的样例。这一回咱们接着上一回的内容继续说使用消息队列进行进程间通信。闲话休提。言归正转。让我们一起talk C栗子吧!
我们在上一回中介绍了消息队列的概念和相关函数的使用方法,这一回中我们通过详细的样例来说明怎样使用消息队列进行进程间的通信。以下是使用消息队列的详细步骤:
- 1.定义一个结构体类型(第一个成员必须是long int类型),用来当作消息队列中消息的类型;
- 2.使用msgget函数创建或者获取消息队列,代码中的键使用了111这个随机数字;
- 3.在准备发送的消息中加入数据(代码中为msg_buf.data);
- 4.使用msgsnd函数把步骤3中的消息发送到消息队列中。
- 5.使用msgrcv函数从消息队列中获取消息,而且显示消息中的数据;
- 6.使用msgctl函数删除消息队列,须要使用的命令:IPC_RMID;
看官们。正文中就不写代码了,详细的代码放到了我的资源中,大家能够点击这里下载使用。
该程序和共享内存的演示样例程序相似。通过在执行程序时使用不同的參数来代表不同的进程。
- 參数:-w表示发送消息的进程;
- 參数:-r表示接收消息的进程。
此外,在程序中仅仅是为了演示消息队列的使用方法,没有考虑进程间的同步。
因此,须要先向消息队列中发送消息。然后才干从消息队列中获取消息。即:在执行程序时,先使用-w參数,然后再使用-r參数。假设不依照这个顺序执行程序。就会发生死锁。
以下是程序的执行结果。请大家參考:
./s -w //执行程序,通过參数w发送消息到消息队列中
write data into message.count:3,data:hello message queue //显示发送到消息队列中消息的内容
./s -r //执行程序。通过參数r从消息队列中读取消息
the data of message .count:3,data:hello message queue //显示接收到消息队列中消息的内容
各位看官。关于使用消息队列进行进程间通信的样例咱们就讲到这里。欲知后面还有什么样例,且听下回分解 。
一起talk C栗子吧(第九十八回:C语言实例--使用消息队列进行进程间通信二)的更多相关文章
- 一起talk C栗子吧(第九十六回:C语言实例--使用共享内存进行进程间通信二)
各位看官们.大家好,上一回中咱们说的是使用共享内存进行进程间通信的样例,这一回咱们接着上一回内容继续说使用共享内存进行进程间通信. 闲话休提,言归正转.让我们一起talk C栗子吧! 我们在上一回中介 ...
- 一起talk C栗子吧(第九十 三回:C语言实例--进程间通信之临界资源)
各位看官们.大家好,前面章回中咱们说的是使用信号和管道进行进程间通信的样例.这一回咱们说的样例是:进程间通信之临界资源.闲话休提,言归正转.让我们一起talk C栗子吧! 我们首先介绍一下,什么是临界 ...
- 一起talk C栗子吧(第十二回:C语言实例--单链表一)
各位看官们,大家好.从今天開始,我们讲大型章回体科技小说 :C栗子.也就是C语言实例.闲话休提, 言归正转. 让我们一起talk C栗子吧! 看官们,上一回中咱们没有说详细的样例,并且是说了样例中的文 ...
- [你必须知道的.NET]第十八回:对象创建始末(上)
本文将介绍以下内容: 对象的创建过程 内存分配分析 内存布局研究 1. 引言 了解.NET的内存管理机制,首先应该从内存分配开始,也就是对象的创建环节.对象的创建,是个复杂的过程,主要包括内存分配和初 ...
- 一起talk C栗子吧(第八回:C语言实例--素数)
各位看官们,大家好,从今天開始.我们讲大型章回体科技小说 :C栗子,也就是C语言实例. 闲话休提, 言归正转. 让我们一起talk C栗子吧! 看官们.上一回中咱们说的是进制转换的样例,这一回咱们说的 ...
- 一起talk C栗子吧(第七十八回:C语言实例--创建进程)
各位看官们,大家好.上一回中咱们说的是DIY ls命令续的样例.这一回咱们说的样例是:创建进程.闲话休提.言归正转. 让我们一起talk C栗子吧! 看官们.关于进程的概念,我们简单做个简单的介绍:进 ...
- 一起talk C栗子吧(第九十五回:C语言实例--使用共享内存进行进程间通信一)
各位看官们,大家好,上一回中咱们说的是SystemV IPC结构概述的样例,这一回咱们说的样例是:使用共享内存进行进程间通信. 闲话休提.言归正转.让我们一起talk C栗子吧! 共享内存是Syste ...
- hiho一下 第九十八周 搜索一·24点
题目1 : 搜索一·24点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 周末,小Hi和小Ho都在家待着. 在收拾完房间时,小Ho偶然发现了一副扑克,于是两人考虑用这副 ...
- 【leetcode 简单】 第九十八题 第三大的数
给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...
随机推荐
- 104.virtual虚函数多态与异构数据结构
#include "mainwindow.h" #include <QApplication> #include <list> #include <Q ...
- 分享js中 pageY = clientY + document.body.scrollTop 之间的关系
//这里没有考虑兼容ie模式下 兼容一般主流浏览器 var $1 = document.getElementById('main') $1.onclick = function(e){ console ...
- 微信公众号开发(二)获取AccessToken、jsapi_ticket
Access Token 在微信公众平台接口开发中,Access Token占据了一个很重要的地位,相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限. access_token是公 ...
- Linux PuTTY 更改字体
Linux PuTTY默认的字体比较小看着比较不舒服,Linux PuTTY的字体更改与Windows下的设置有所不同 1.Linux PuTTY默认的字体 ,Font used for ordina ...
- 在Ubuntu14.04中安装Py3和切换Py2和Py3环境
前几天小编给大家分享了如何安装Ubuntu14.04系统,感兴趣的小伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编给大家分享一下在Ubuntu14.04系 ...
- blkid---对系统块设备信息查询
在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须 ...
- zoj 2317 Nice Patterns Strike Back(矩阵乘法)
problemId=1317">http://acm.zju.edu.cn/onlinejudge/showProblem.do? problemId=1317 给出一个n*m的矩阵( ...
- js 图片轮转
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js---06函数传参数
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 洛谷P1720 月落乌啼算钱
目背景 (本道题目木有以藏歌曲……不用猜了……) <爱与愁的故事第一弹·heartache>最终章. 吃完pizza,月落乌啼知道超出自己的预算了.为了不在爱与愁大神面前献丑,只好还是硬着 ...