进程间通信[二]

命名管道
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,一经查实,立即删除!

相关文章

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

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

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

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

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

提到 ChatGPT。想必大家都有所耳闻。自从 2022 年上线以来,就受到国内外狂热的追捧和青睐,上线2个月,月活突破1个亿!!! 而且还在持续上涨中。因为有很多人都在使用 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 校园通知实…

带宽计费模式:按固定带宽和按使用流量有什么区别?

阿里云服务器带宽计费模式分为“按固定带宽”和“按使用流量”,有什么区别?按固定带宽是指直接购买多少M带宽,比如1M、5M、10M、100M等,阿里云直接分配用户所购买的带宽值,根据带宽大小先付费再使用;按使用…

JVM-类加载器 双亲委派机制

申明:文章内容是本人学习极客时间课程所写,文字和图片基本来源于课程资料,在某些地方会插入一点自己的理解,未用于商业用途,侵删。 什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写&a…

DataBinding源码浅析---初始化过程

作为Google官方发布的支持库,DataBinding实现了UI组件和数据源的双向绑定,同时在Jetpack组件中,也将DataBinding放在了Architecture类型之中。对于DataBinding的基础使用请先翻阅前两篇文章的详细阐述。本文所用代码也是建立在之前工程基础之…

网络报文处理流程

报文处理流程 WLAN网络中的数据包括管理报文和业务数据报文。管理报文必须采用CAPWAP隧道进行转发,而业务数据报文除了可以采用CAPWAP隧道转发之外,还可以采用直接转发方式和Soft-GRE转发方式。 管理报文用来传送AC与AP之间的管理数据,存在于…

反应式编程

反应式编程 前言1 反应式编程概览2 初识 Reactor2.1 绘制反应式流图2.2 添加 Reactor 依赖 3.使用常见的反应式操作3.1 创建反应式类型3.2 组合反应式类型3.3 转换和过滤反应式流3.4 在反应式类型上执行逻辑操作 总结 前言 你有过订阅报纸或者杂志的经历吗?互联网的确从传统的…

BYTEVALUE 百为流控路由器远程命令执行漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

JavaWeb:SpringBootWeb登录认证 --黑马笔记

1.登录认证 登录认证,如果只是简单的判断用户名和密码在数据库中是否对应相等来实现这个需求是有问题的,它只是徒有其表,我们不登陆也可以访问后端系统页面,真正的登录功能应该是:登陆后才能访问后端系统页面&#xf…

Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性

什么是对象和类 什么是 Python 类、类对象、实例对象 类变量、实例变量/类属性、实例属性 前言 只是叫法不一样 实例属性 实例变量 类属性 类变量 个人认为叫属性更恰当 类属性和实例属性区别 类属性,所有实例对象共享该属性实例属性,属于某一…