安全放心的免费绿色软件下载网站!

进程间通信有哪几种方式 进程间通信的方法详解

时间:2020-11-20 16:11:08

  进程间通信有哪几种方式?不同进程之间是会进行相互传播或交换信息的,很多伙伴都很好奇,各进程之间是通过什么介质进行通信的呢?今天小编就给大家科普下进程间通信的方法。

进程间通信有哪几种方式 进程间通信的方法详解

  前言:

  进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。IPC接口就提供了这种可能性。每个IPC方法均有它自己的优点和局限性,一般,对于单个程序而言使用所有的IPC方法是不常见的。

  进程间通信的8种方法:

  1、无名管道通信

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

  2、高级管道通信

  高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。

  3、有名管道通信

  有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。

  4、消息队列通信

  消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

  5、信号量通信

  信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

  6、信号

  信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

  7、共享内存通信

  共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。

  8、套接字通信

  套接字( socket ) : 套接口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。

  之前写过一个课程设计:基于Internet的Linux客户机/服务器系统通讯设计与实现

  是利用sock通信实现的,可以参考一下。

  通信过程如下:

  8.1命名socket

  SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址,其中服务器端的本地地址需要明确指定,指定方法是使用 struct sockaddr_un 类型的变量。

  8.2 绑定

  SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址,其中服务器端的本地地址需要明确指定,指定方法是使用 struct sockaddr_un 类型的变量,将相应字段赋值,再将其绑定在创建的服务器套接字上,绑定要使用 bind 系统调用,其原形如下:

  01int bind(int socket, const struct sockaddr *address, size_t address_len); 复制代码 int bind(int socket, const struct sockaddr *address, size_t address_len);

相关文章
在线重装系统靠谱吗
在线重装系统靠谱吗

个人觉得在线重装系统还是很不错的,尤其是对于没有重装经验的新手来说,只需要完成一两个简单的步骤就可以对电脑执行一键在线安装电脑系统。好了,接下来小编就将在线安装电脑系统Windows10的教程分享给大家。 在线重装系统靠谱吗: 1,首先,对电脑内部的重要资料做

阴阳师百闻牌觉醒试炼过关方法 阴阳师百闻牌觉醒试炼攻略
阴阳师百闻牌觉醒试炼过关方法 阴阳师百闻牌觉醒试炼攻略

阴阳师百闻牌中,觉醒试炼选择犬神的卡牌“觉醒.犬神”并赋予犬神,此“觉醒”卡牌可以在己方回合结束时复活犬神,在对局中我方犬神即使被打到气绝,在己方合结束时也会复活。觉醒后的犬神复活次数无限制,只要牌手还在就可以无限复活。

云顶之弈10.21阵容搭配推荐 云顶之弈10.21最强阵容推荐
云顶之弈10.21阵容搭配推荐 云顶之弈10.21最强阵容推荐

云顶之弈10.21版本即将更新,正所谓一代版本一代神,那么这个版本什么阵容最强呢?大家是不是非常想知道呢?今天小编就为大家带来云顶之弈10.21阵容搭配推荐,希望能够帮到大家,云顶之弈10.21阵容搭配推荐 云顶之弈10.21最强阵容推荐

方舟生存进化甲龙喜欢吃什么 方舟生存进化甲龙驯养攻略
方舟生存进化甲龙喜欢吃什么 方舟生存进化甲龙驯养攻略

方舟生存进化甲龙食性草食攻击性弱,喜欢吃双脊龙蛋饲料和蔬菜紫果子。

解决win7旗舰版强行删除开机密码
解决win7旗舰版强行删除开机密码

近来有很多使用win7旗舰版的朋友询问小编强行删除开机密码的方法,其实最彻底的删除开机密码的方法就是进入PE系统删除。接下来,我就给大家演示一下win7旗舰版破解开机密码的详细步骤 众所周知,开机密码可以保护电脑数据安全,很多朋友都设置了开机密码。但是有时候它

原神奥藏山的遗迹宝藏石碑在哪 原神奥藏山遗迹宝藏石碑位置一览
原神奥藏山的遗迹宝藏石碑在哪 原神奥藏山遗迹宝藏石碑位置一览

首先三个石碑的位置在本页面第一张图片的感叹号所标记,从右上角的那个石碑开始是第一个。奥藏山遗迹宝箱需要找到剩余的两个石碑。回答选项一定要注意,全选“否”就没有怪了。

相关软件
运好货安卓版 v1.2.0
运好货安卓版 v1.2.0
大小:40.1M 时间:2020-09-02
下载

运好货APP下载-运好货app是一款为用户提供物流运输相关服务的软件,用户能够在线进行赚钱,为司机带来海量的货源信息,还有众多的福利能够领取。,您可以免费下载安卓手机运好货。

掌上波尔多v2.2.1 最新版
掌上波尔多v2.2.1 最新版
大小:38.5M 时间:2020-09-30
下载

掌上波尔多app是一款葡萄酒培训应用,软件拥有丰富的课程资源,拥有葡萄酒岗位优秀案例,还拥有新闻资讯内容,觉得不错的朋友可以前来下载使用。

智能单词突击营v5.2.8
智能单词突击营v5.2.8
大小:137.8M 时间:2020-10-29
下载

智能单词突击营app是一款考雅思托福必备的英语学习在线培训软件,智能单词突击营app重点根据每个人的英语学习水平进行游针对性的训练和教学,通过智能单词突击营app,找到问题的关键

英雄联盟手游免费加速版v0.5.0.3256 免费版

英雄联盟手游免费加速版是可以免费加速国际服,可以直接玩的版本哦。作为国际版本,国内玩会有点卡,但是有了这个免费加速的版本,那体验起来没有延迟,玩起来挺轻松,各种模式也

淘金阁v1.0
淘金阁v1.0
大小: 时间:2020-11-10
下载

为您提供淘金阁 v1.0安卓版,手机版下载,淘金阁 v1.0apk免费下载安装到手机.同时支持便捷的电脑端一键安装功能!

字体计数软件v0.04官方版
字体计数软件v0.04官方版
大小:15.4M 时间:2020-08-26
下载

字体计数软件,字体计数软件,此软件以统一码区块与汉字编码标准统计字体内的汉字数量,目前只提供Windows版本,基于使用了tkinter模块,此软件只限个人使用而已,.spec文件可使用pyinstaller以编译软件,您可以免费下载。