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

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.xdnf.cn/news/17805.html

相关文章:

  • 桌面运维如何深造
  • 算法篇----分治(归并排序)
  • Unity新手制作跑酷小游戏详细教程攻略
  • Python实现点云概率ICP(GICP)配准——精配准
  • 【金仓数据库产品体验官】_从实践看金仓数据库与 MySQL 的兼容性
  • 决策树回归:用“分而治之”的智慧,搞定非线性回归难题(附3D可视化)
  • zookeeper安装部署
  • FemalePower项目学习笔记
  • Prompt工程师基础技术学习指南:从入门到实战
  • Linux LNMP配置全流程
  • 学习:JS进阶[10]内置构造函数
  • Java开发主流框架搭配详解及学习路线指南
  • C++ stack and queue
  • 【motion】身体动作与面部表情捕捉5:Motion-X++ 数据集下载和选择
  • Java研学-RabbitMQ(六)
  • Docker:快速部署 Temporal 工作流引擎的技术指南
  • Lombok插件介绍及安装(Eclipse)
  • YOLO-v2-tiny 20种物体检测模型
  • 部署在linux上的java服务老是挂掉[排查日志]
  • 终端安全检测与防御
  • 5. synchronized 关键字 - 监视器锁 monitor lock
  • 2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
  • MyBatis-Plus 分页失效问题解析:@Param 注解的影响与解决方案
  • “我店模式”:零售转型中的场景化突围
  • 万字长文全解析:五种主流归一化方法深入讲解(BN/LN/IN/GN/WN)
  • 资源查看-lspci命令
  • React useMemo 深度指南:原理、误区、实战与 2025 最佳实践
  • Linux网络性能调优终极指南:深度解析与实践
  • pt-online-schema-change 全解析:MySQL 表结构变更的安全之道
  • Jenkins(集群与流水线配置)