进程间通信[二]

命名管道
mkfifo filename

创建管道

共享内存
systemV

就是一段内存映射到两个进程之中,这段内存就是双方都可以看到同一块公共空间,变具备了进程间通信的前提条件。把映射去掉,然后释放空间,这就是释放共享内存。

共享内存属于操作系统,也是先描述再组织。理解共享内存=共享内存块+共享内存对应的内核数据结构。

shmget创建共享内存。

形成再在shmget里面填充的key值

 当进程结束进程还存在  ipcs -m查看共享内存资源,因为他的生命周期随内核。不删就会随着操作系统一直存在所以需要手动删除,或者代码删除

我们需要删除共享内存

ipcrm -m id 号

代码删除

 删除的话最后一个属性不需要关注。//共享内存大小最好是页(page:4096)的大小整数倍。

这个里面有一个perms代表权限,0代表没有权限读取共享内存。共享内存映射到系统叫attach。去掉叫detach. 

进程通信的本质不同的进程是看到同一份资源,比如管道,共享内存,但是这也带来了一个时序问题,造成数据不一致。

1.把多个进程看到的同一份资源成为临界资源。

2.把自己进程,访问临界资源的代码成为临界区。

3.为了更好的进行进阶区的访问,可以让多执行流,在访问时候的时候,任何适合,都只能有一个进程进入临界区——互斥。每一个进程进入临界资源的时候,都需要先申请信号量。

这时候就要设计一个叫信号量的东西了。

所以多个执行流,执行的时候会互相干扰。在非临界区是不影响的。

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

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

相关文章

第十二章 以编程方式使用 SQL 网关 - 直接调用 ODBC 函数

文章目录 第十二章 以编程方式使用 SQL 网关 - 直接调用 ODBC 函数直接调用 ODBC 函数使用 %SQLGatewayConnection方法中执行查询 第十二章 以编程方式使用 SQL 网关 - 直接调用 ODBC 函数 直接调用 ODBC 函数 如果%SQL.Statement 不能提供足够的控制,可以使用 %S…

Rust变量与常量介绍

Rust是一门注重安全性和性能的系统编程语言,其中变量和常量的概念有着独特的设计和特性。在本文中,我们将深入了解Rust中的变量和常量,并解释它们之间的区别,同时通过多个例子进行说明。 Rust常量 在Rust中,常量是不…

int VS Integer

在Java中,int 是一种基本数据类型(primitive type),而 Integer 是 int 的包装类(wrapper class)。它们之间的主要区别在于以下几点: 数据类型:int 是基本的整数类型,它在…

【开源】SpringBoot框架开发数字化社区网格管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、开发背景四、系统展示五、核心源码5.1 查询企事业单位5.2 查询流动人口5.3 查询精准扶贫5.4 查询案件5.5 查询人口 六、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数字化社区网格管理系统&#xf…

mmap函数的详细讲解

mmap&#xff08;&#xff09;函数是一个用于在用户空间和内核空间之间进行文件映射的系统调用。它允许文件在物理内存中的特定区域被映射到进程的地址空间中&#xff0c;从而允许进程通过内存访问操作来读取和写入文件。 函数原型&#xff1a; #include <sys/mman.h> …

量子位 | 2024年AI还能帮你干什么?这十个趋势必须关注

本文来源公众号“量子位”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;2024年AI还能帮你干什么&#xff1f;这十个趋势必须关注 大年初三&#xff0c;也不要忘记学习&#xff01;新的一年里&#xff0c;怎样能让AI多给自己帮帮…

如何升级至ChatGPT Plus:快速指南,ChatGPT的秘密武器GPT4.0是什么?

提到 ChatGPT。想必大家都有所耳闻。自从 2022 年上线以来&#xff0c;就受到国内外狂热的追捧和青睐&#xff0c;上线2个月&#xff0c;月活突破1个亿&#xff01;&#xff01;&#xff01; 而且还在持续上涨中。因为有很多人都在使用 ChatGPT 。无论是各大头条、抖音等 App、…

基于JAVA的中学生家校互联系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生管理模块2.2 课堂表现模块2.3 考试成绩模块2.4 家校留言模块2.5 校园通知模块 三、系统设计3.1 用例设计3.2 实体类设计3.2.1 课堂表现实体类设计3.2.2 考试成绩实体类设计3.2.3 家校留言实体类设计3.2.4 校园通知实…