当前位置: 首页 > news >正文

IPC Inter-Process Communication(进程间通信)

#进程间通信方式

名称特点优点
传统的进程间通信方式(管道)单个进程之间的通信,效率较低,通过内核易于管理
共享内存可以传递大量数据,不经过内核(kernel)操作较为繁琐
套接字用在主机与主机之间,带有ip地址可以跨越物理进行传递

传统的进程间通信方式

无名管道(pipe)

在这里插入图片描述

特点:
1.当创建PIPE的时候有连个端口,读/写端分开
2.管道因为是无名的,所以不可以被外部的进程所引用,只可以在有金属关系的进程中引用
3.不保证写入原子性
在这里插入图片描述
又名管道的读写操作状态
在这里插入图片描述
匿名管道读写关系
在这里插入图片描述
在收到SIGPIPE信号是没有及时处理,程序会死亡,收到错误pipebroken

有名管道(FIFO)

与匿名管道相比,最大的不同就是可以用过open打开,任何两个进程都可以进行通信,并且有写入原子性
并且操作基本与普通文件没有差异

在这里插入图片描述

函数原型int access(const char *pathname, int mode);
头文件#include <unistd.h>
作用检查文件是否存在,读写状态

经典应用
在这里插入图片描述

http://www.dtcms.com/a/330177.html

相关文章:

  • 2小时构建生产级AI项目:基于ViT的图像分类流水线(含数据清洗→模型解释→云API)(第十七章)
  • 基于Supervision工具库与YOLOv8模型的高效计算机视觉任务处理与实践
  • 1.Cursor快速入门与配置
  • Multisim的使用记录
  • GQA:从多头检查点训练广义多查询Transformer模型
  • 蒙以CourseMaker里面的录屏功能真的是完全免费的吗?
  • C#标签批量打印程序开发
  • Redis 键扫描优化:从 KEYS 到 SCAN 的优雅升级
  • Nginx Stream代理绕过网络隔离策略
  • 论文Review 激光SLAM VoxelMap | RAL 2022 港大MARS出品!| 经典平面特征体素激光SLAM
  • 第4节 Torchvision
  • MC0473连营阵图
  • 在线教程丨 Qwen-Image 刷新图像编辑 SOTA,实现精准中文渲染
  • Docker部署RAGFlow:开启Kibana查询ES数据指南
  • 《Linux基础知识-3》
  • C语言:指针(4)
  • QT(事件)
  • 网络安全合规6--服务器安全检测和防御技术
  • MyBatis针对MySQL模糊查询中特殊字符(%和_)的处理方案
  • BGE:智源研究院的通用嵌入模型家族——从文本到多模态的语义检索革命
  • 模型驱动的自动驾驶AI系统全生命周期安全保障
  • C++入门自学Day10-- Vector类的自实现
  • Nginx学习与安装
  • Docker(springcloud笔记第三期)
  • docker 将本地python环境(有系统依赖)进行打包移到另一个服务器进行部署
  • 飞算AI:企业智能化转型的新引擎——零代码重塑生产力
  • sql查询优化方式常见情况总结
  • TLSv1.2协议与TCP/UDP协议传输数据内容差异
  • 【Redis】Sentinel (哨兵)
  • 深度学习实战114-基于大模型的深度研究(DeepResearch)架构:从自主信息探索到洞察生成的革命