什么是进程间通讯

进程间通信(inter-process communication或interprocess communication,简写IPC)是指两个或两个以上进程(或线程)之间进行数据或信号交互的技术方案。

通常,IPC一般包含客户端和服务器,客户端请求数据,服务器响应请求(比如分布式计算中就是这样)。

有哪些IPC方法

IPC方法适用的环境

文件(File)

存储在磁盘上的记录,或由文件服务器按需合成的记录,可以由多个进程访问。

信号(Signal)

系统消息从一个进程发送到另一个进程,一般不用于传输数据,而是用于远程传输命令。

套接字(Socket)

通过网络接口将数据量发送到本机的不同进程或远程计算机。

Unix域套接字(Unix domain socket)

用于在同一台机器上运行的进程之间的通信。虽然因特网域套接字可用于同一目的,但UNIX域套接字的效率更高。UNIX域套接字仅仅复制数据;它们并不执行协议处理,不需要添加或删除网络报头,无需计算检验和,不要产生顺序号,无需发送确认报文。

消息队列(Message queue)

类似于套接字的数据流,但消息有自己的结构,它允许多个进程只需要读写消息队列,而不需要直接相互连接。

管道(Pipe)

管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

命名管道(Named pipe或FIFO)

命名管道可在同一台计算机的不同进程之间或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。

共享内存(Shared memory)

允许多个进程访问同一个内存块,该内存块作为一个共享缓冲区,供进程间相互通信。

消息传递(Message passing)

一般在并发模型中,允许多个程序使用消息队列或者托管通道通信。

内存映射文件(Memory-mapped file)

类似于标准的文件,内存映射文件映射到RAM,可以直接对内存地址进行更改,而不是更改输出流。

文件服务器ipc,看图理解进程间通信IPC相关推荐

  1. 看图理解scrollTop,scrollLeft,clientWidth,clientHeight,offsetWidth,offsetHeight

    每次用JS获取页面的高宽时总都是相当的揪心,同一个属性在不同的浏览器或不同的W3C标准下所表示的意思都不尽相同.以下就针对页面的实际高宽和可见区域做个总结,以便大家查阅! 1. 在W3C标准的情况下 ...

  2. 进程间通信 IPC interprocess communication

    1,管道,FIFO 2, 信号 3,消息队列 4,共享类存 5.文件映射 6.socket (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行 ...

  3. 详解操作系统之进程间通信 IPC (InterProcess Communication)

    进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法. 进程是计算机系统分配资源的最小单位(严格说来是线程).每个进程都有 ...

  4. Android中进程间通信(IPC)方式总结

    IPC为进程间通信或跨进程通信,是指两个进程进行进程间通信的过程.在PC和移动设备上一个进程指的是一个程序或者一个应用,所以我们可以将进程间通信简单理解为不同应用之间的通信,当然这种说法并不严谨. 在 ...

  5. 漫谈QNX(架构/进程,线程,同步,进程间通信IPC)

    (1)架构 说起Blackberry的QNX操作系统, 想必大家都听说过,但到底为什么QNX能如此有名?难道微软的Windows和Linux都不能与之抗衡? 美国NASA的太空接驳飞船也使用QNX操作 ...

  6. Linux 进程间通信(IPC)---大总结

    目录 前言 进程间通信方式 管道 匿名管道(PIPE) 如何创建匿名管道 管道的读写特性 命令行管道符的实现 命名管道(FIFO) 管道特性 共享内存 共享内存的操作流程 如何创建共享内存 如何将共享 ...

  7. Linux 进程间通信-IPC 机制

    Linux 平台上在 Kernel 协调下完成进程之间的相互通信,有多种进程间通信 -- Inter Process Communication(IPC)方式. 1. IPC 分类 按照功能用途来看有 ...

  8. linux进程间通信 ipc,进程间通信IPC (InterProcess Communication)

    一.进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区, ...

  9. 进程间通信IPC、LPC、RPC

    IPC是进程间通信,有两种,它们是LPC和RPC,前者是本地过程调用 后者是远程过程调用 简介 进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送 ...

最新文章

  1. SQL Server使用侦听器IP访问时遇到The target principal name is incorrect. Cannot generate SSPI context...
  2. 生产环境一个like模糊匹配SQL优化
  3. 全网最全!2021最新常用肿瘤生信数据库收藏级汇总!
  4. ospf 环回口的路由条目_【网络工程师配置篇】——OSPF汇总配置!
  5. java 的 AccessController.doPrivileged使用
  6. jboss7.1.1 部署_在JBoss AS 7上部署BroadleafCommerce 2.0
  7. CentOS6.3 重启后/etc/resolv.conf 被还原解决办法
  8. 【转】VScode tasks.json和launch.json的设置
  9. 从numpy里加载_PyTorch强化:01.PyTorch 数据加载和处理
  10. Python 基础 - Day 2 Learning Note - 序列之字符串 String
  11. 关于SQL数据库中的数据到如何导出--SQL2000导入到SQL2008中
  12. php+nginx环境下的php报错设置
  13. 第一次scrum冲刺!
  14. 分享一个强大的弹出框
  15. 电信 网通 铁通 DNS服务器IP地址
  16. Halcon学习-算子学习-映射/傅里叶变换/gen_grid_region/rft_generic例程
  17. 解决flex布局的space-evenly兼容性问题
  18. C语言中文网学习进度
  19. 怎么关闭计算机右侧的硬盘预览,选择性关闭视频文件预览 给Win7硬盘CPU减压
  20. python中定义函数,斐波纳契数列:1,1,2,3,5,8,13。。

热门文章

  1. 职场生存之道,如何与领导相处
  2. 用计算机解决逻辑推理问题,逻辑推理问题解决.doc
  3. PHP+MySQL制作留言板
  4. 未能解析引用的程序集......因为它对不在当前目标框架“.NETFramework,Version=v4.0,Profile=Client”中的 (转)...
  5. 安装ubuntu20.04, CUDA11.4, cnDNN, tensorflow, pytorch
  6. R语言使用rgamma函数生成符合Gamma分布的随机数、使用plot函数可视化符合Gamma分布的随机数(Gamma Distribution)
  7. Ubuntu文件权限设置
  8. 【热门主题】约会大作战win7主题
  9. 英属哥伦比亚大学教授发明电动汽车无线充电技术(为什么新技术总是国外先出来,我们copy?什么时候能反过来啊!)
  10. 链表反转(C++版)