一起talk C栗子吧(第九十六回:C语言实例--使用共享内存进行进程间通信二)
各位看官们。大家好,上一回中咱们说的是使用共享内存进行进程间通信的样例,这一回咱们接着上一回内容继续说使用共享内存进行进程间通信。
闲话休提,言归正转。让我们一起talk C栗子吧!
我们在上一回中介绍了共享内存的概念和相关函数的使用方法。这一回中我们通过详细的样例来说明怎样使用共享内存进行进程间的通信。以下是使用共享内存的详细步骤:
- 1.定义一个结构体类型,用来当作共享内存的类型;
 - 2.使用shmget函数获取共享内存,代码中的键使用了111这个随机数字。
 - 3.使用shmat函数把共享连接到进程的地址空间中。
 - 4.从共享内存中读取数据,或者向共享内存中写入数据;
 - 5.使用shmdt函数把共享内存从进程的地址空间中分离出来;
 - 6.使用shmctl函数删除共享内存,须要使用的命令:IPC_RMID;
 
看官们,正文中就不写代码了。详细的代码放到了我的资源中。大家能够点击这里下载使用。
以下是程序的执行结果,请大家參考:
./s -r                                  //执行程序而且使用-r參数。表示启动读取数据的进程
there is not any data in share memory   //这时共享内存中还没有数据
./s -w                                  //执行程序而且使用-w參数,表示启动写入数据的进程
write data into share memory.count:3,data:hello share memory //提示写入的数据
./s -r                                //再次执行程序而且使用-r參数,表示启动读取数据的进程
the data of share memory.count:3,data:hello share memory  //显示从共享内存中读取的数据
在程序中我们使用參数来区分不同的进程,同一时候使用一个标记位来推断共享内存中是否有数据。另外。使用共享内存进行进程间通信时须要使用同步机制,比方我们在刚開始执行程序时,由于还没有执行写进程,共享内存中没有数据,这时候,读进程不能从共享内存中读取到数据。
各位看官,关于使用共享内存进行进程间通信的样例咱们就讲到这里。欲知后面还有什么样例,且听下回分解 。
一起talk C栗子吧(第九十六回:C语言实例--使用共享内存进行进程间通信二)的更多相关文章
- 一起talk C栗子吧(第九十五回:C语言实例--使用共享内存进行进程间通信一)
		
各位看官们,大家好,上一回中咱们说的是SystemV IPC结构概述的样例,这一回咱们说的样例是:使用共享内存进行进程间通信. 闲话休提.言归正转.让我们一起talk C栗子吧! 共享内存是Syste ...
 - 一起talk C栗子吧(第九十八回:C语言实例--使用消息队列进行进程间通信二)
		
各位看官们,大家好,上一回中咱们说的是使用消息队列进行进程间通信的样例.这一回咱们接着上一回的内容继续说使用消息队列进行进程间通信.闲话休提.言归正转.让我们一起talk C栗子吧! 我们在上一回中介 ...
 - “全栈2019”Java第九十六章:抽象局部内部类详解
		
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
 - 跟我学SpringCloud | 第十六篇:微服务利剑之APM平台(二)Pinpoint
		
目录 SpringCloud系列教程 | 第十六篇:微服务利剑之APM平台(二)Pinpoint 1. Pinpoint概述 2. Pinpoint主要特性 3. Pinpoint优势 4. Pinp ...
 - 一起talk C栗子吧(第九十 三回:C语言实例--进程间通信之临界资源)
		
各位看官们.大家好,前面章回中咱们说的是使用信号和管道进行进程间通信的样例.这一回咱们说的样例是:进程间通信之临界资源.闲话休提,言归正转.让我们一起talk C栗子吧! 我们首先介绍一下,什么是临界 ...
 - 一起talk C栗子吧(第十二回:C语言实例--单链表一)
		
各位看官们,大家好.从今天開始,我们讲大型章回体科技小说 :C栗子.也就是C语言实例.闲话休提, 言归正转. 让我们一起talk C栗子吧! 看官们,上一回中咱们没有说详细的样例,并且是说了样例中的文 ...
 - [你必须知道的.NET]第二十六回:认识元数据和IL(下)
		
发布日期:2009.03.04 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. 说在,开篇之前 书接上回: 第二十四回:认识元数据和IL(上), ...
 - 一起talk C栗子吧(第一百三十一回:C语言实例--C程序内存布局三)
		
各位看官们,大家好.上一回中咱们说的是C程序内存布局的样例,这一回咱们继续说该样例.闲话休提,言归正转.让我们一起talk C栗子吧. 看官们,关于C程序内存布局的样例,我们在前面的两个章回都介绍过了 ...
 - 一起talk C栗子吧(第一百二十六回:C语言实例--statickeyword)
		
各位看官们,大家好,上一回中咱们说的内置宏的样例.这一回咱们说的样例是:static关键字. 闲话休提.言归正转. 让我们一起talk C栗子吧! 看官们,C语言提供了static关键字.它常常出如今 ...
 
随机推荐
- 【搜索】P1019 单词接龙
			
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...
 - 筛选法 || POJ 3292 Semi-prime H-numbers
			
5,9,13,……叫H-prime 一个数能且仅能由两个H-prime相乘得到,则为H-semi-prime 问1-n中的H-semi-prime有多少个 *解法:vis初始化为0代表H-prime, ...
 - 一个电脑安装两个jdk版本
			
场景:先前使用了1.6的jdk但是现在学java需要使用jdk1.8的,现在打算电脑上使用两个jdk 1 . 准备两个版本的jdk我的两个jdk路径为: D:\jdk1.7.0_80 D:\Progr ...
 - bzoj 1098 [POI2007] 办公楼 biu
			
# 解题思路 画画图可以发现,只要是两个点之间没有相互连边,那么就必须将这两个人安排到同一个办公楼内,如图所示: 那,我们可以建立补图,就是先建一张完全图,然后把题目中给出的边都删掉,这就是一张补图, ...
 - 「 Luogu P2420 」 让我们异或吧
			
# 解题思路 两点之间的路径的话一定经过它们两个 LCA,这一点已经是显而易见的,那么再来看看异或的性质. $$a\ xor\ b\ xor\ b = a\\ a\ xor\ a=0\\ a\ xor ...
 - Ubuntu16.04下安装pip
			
按照下面的步骤来安装 sudo apt-get install python-setuptools python-dev build-essential 安装python2的pip (要想好你用p ...
 - docker-machine 快速搭建docker环境
			
环境:腾讯云测试成功 1.条件:本地主机A和远程主机B 2.远程主机B,配置免密登录 1,在本地主机A上生成公钥和私钥,生成命令:ssh-keygen -t rsa 私钥:id_rsa 公钥:id_r ...
 - c++_奖券数目
			
奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要 ...
 - LeetCode(66)Plus One
			
题目 Given a non-negative number represented as an array of digits, plus one to the number. The digits ...
 - mysql异常Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'region_name'
			
Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'region_name' insert语句加的该字段有汉字,乱码造成的 解 ...