进程间的五种通信方式介绍 2024-05-26 05:59:43 进程间通信又叫IPC (InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket。Socket支持不同主机上的两个进程IPC。>>>>1,管道分为命名管道和无名管道,在内核中申请一块固定大小的缓冲区,程序拥有写入和读取的权利,都可以看成一种特殊的文件,具有固定的读端和写端,也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中;无名管道一般使用fork函数实现父子进程的通信,命名管道用于没有血缘关系的进程也可以进程间通信;面向字节流、自带同步互斥机制、半双工,单向通信,两个管道实现双向通信。2,消息队列,在内核中创建一队列,队列中每个元素是一个数据报,不同的进程可以通过句柄去访问这个队列;消息队列独立于发送与接收进程,可以通过顺序和消息类型读取,也可以fifo读取;消息队列可实现双向通信。3,信号量 , 在内核中创建一个信号量集合(本质是个数组),数组的元素(信号量)都是1,使用P操作进行-1,使用V操作+1,通过对临界资源进行保护实现多进程的同步4,共享内存,将同一块物理内存一块映射到不同的进程的虚拟地址空间中,实现不同进程间对同一资源的共享。目前最快的IPC形式,不用从用户态到内核态的频繁切换和拷贝数据,直接从内存中读取就可以,共享内存是临界资源,所以需要操作时必须要保证原子性。使用信号量或者互斥锁都可以。5,socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据。socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种”打开—读/写—关闭”模式的实现,服务器和客户端各自维护一个”文件”,在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。是一种可以网间通信的方式。 来源:今日头条@无垠有痕 赞 (0) 相关推荐 Android面试——多进程通信,Binder机制和AIDL 为什么要使用 Binder 机制 Android 会为每个进程分配独立的虚拟内存空间,每个进程的虚拟地址空间是互相隔离的,如果进程间要进行互相通信,就要使用 Android 提供的 Binder 机制 ... 6种Linux进程间的通信方式 | 《Linux就该这么学》 进程的概念 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放.可以认为进程是一个程序的一次执行过程. 进程通信的概念 进程用户空间是 ... 五种集体研讨方法介绍 五种集体研讨方法包括:1.深度汇谈,2.讨论,3.头脑风暴,4.团体列名,5.六面思考法. 一.深度汇谈 (一) 对"深度汇谈法"的理解及应注意的问题 "深度汇谈&quo ... 吃什么降血糖最快 介绍五种降血糖食物 更新时间:2017-06-06 核心提示: 血糖是指血液中葡萄糖的浓度,糖尿病疾病的患者应该要控制血糖的含量,当人体血糖升高时会给人体造成比较严重的危害,糖尿病疾病的患者需要多吃一些降血糖的食物,这样 ... 【常见问题】世界五大公园树种是哪五种?5大树种介绍 [专家解答] 世界五大公园树种是金钱松.南洋杉.雪松.日本金松.巨杉. 1.金钱松 落叶乔木冠形:圆锥形 花期:5~6 月果期:10 月 叶:叶片条形,扁平柔软,在长枝上成螺旋状散生 其它重要性状:树 ... 华佗五禽戏的流派及五种动物的养生机理介绍 五禽戏的历史渊源可以追溯到三国时期名医华佗的五禽之戏,之后由此繁衍出的流派甚多.功法的侧重点有着眼于内气.内.外.动.静.刚柔.柔劲.导引按摩"等等的不同,风格各异. 从现有文献资料看,南北 ... 香是喝茶最基本的,介绍五种最香的茶 茶除了万般滋味,还有各种各样的花香,让喝茶人,那么哪些茶的茶香最好最迷人呢,我们介绍五款茶. 1.七泡有余香当属铁观音[香持久且高雅] 铁观音是乌龙茶的极品,其品质特征是:茶条卷曲,肥壮圆结,沉重匀整 ... 五种无痛针灸进针手法介绍 作为一名针灸大夫来说,进针是在进行针刺治疗时的关键一步.我们现今面对的患者多数耐受性较差,因此无痛进针可以有效的缓解患者的紧张情绪,有利于取得较好的疗效.目前我说了解到的无痛进针手法大致有以下五种,如 ... 防腐涂料如何检测厚度?五种检测方法介绍 防腐涂料的主要作用是保护基材表面不被腐蚀,涂料的防腐效果与涂层厚度是分不开的,一般防腐涂料的涂层厚度在1mm-1.5mm之间,而重防腐涂料的涂层厚度在3mm以上或更多.为了保证防腐涂料厚度在规定范围内 ... 石墨化设备——五种类型石墨化炉介绍 龙江石墨 2020-12-24 石墨化的简单介绍 图片来自:李子坤.石墨化技术的现状与发展 石墨化的表述很多,简单来说,石墨化就是热处理.使原本分布杂乱无章的碳原子整齐排列.值得注意的是,不管是大规格 ...
进程间通信又叫IPC (InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket。Socket支持不同主机上的两个进程IPC。>>>>1,管道分为命名管道和无名管道,在内核中申请一块固定大小的缓冲区,程序拥有写入和读取的权利,都可以看成一种特殊的文件,具有固定的读端和写端,也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中;无名管道一般使用fork函数实现父子进程的通信,命名管道用于没有血缘关系的进程也可以进程间通信;面向字节流、自带同步互斥机制、半双工,单向通信,两个管道实现双向通信。2,消息队列,在内核中创建一队列,队列中每个元素是一个数据报,不同的进程可以通过句柄去访问这个队列;消息队列独立于发送与接收进程,可以通过顺序和消息类型读取,也可以fifo读取;消息队列可实现双向通信。3,信号量 , 在内核中创建一个信号量集合(本质是个数组),数组的元素(信号量)都是1,使用P操作进行-1,使用V操作+1,通过对临界资源进行保护实现多进程的同步4,共享内存,将同一块物理内存一块映射到不同的进程的虚拟地址空间中,实现不同进程间对同一资源的共享。目前最快的IPC形式,不用从用户态到内核态的频繁切换和拷贝数据,直接从内存中读取就可以,共享内存是临界资源,所以需要操作时必须要保证原子性。使用信号量或者互斥锁都可以。5,socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据。socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种”打开—读/写—关闭”模式的实现,服务器和客户端各自维护一个”文件”,在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。是一种可以网间通信的方式。