进程之间有8种通信方式
进程之间有8种通信方式
1无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
2.高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。
3 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
4信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
5 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
6 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
7共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。
8套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。
转载于:https://www.cnblogs.com/WayneZeng/archive/2013/04/20/3032592.html
进程之间有8种通信方式相关推荐
- python进程通信方式有几种_python全栈开发基础【第二十一篇】互斥锁以及进程之间的三种通信方式(IPC)以及生产者个消费者模型...
一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...
- html 如何实现一条竖线边上有 刻度_记一次腾讯面试:进程之间究竟有哪些通信方式?如何通信? ---- 告别死记硬背||CSDN博文精选...
作者:帅地 有一次面试的时候,被问到进程之间有哪些通信方式,不过由于之前没深入思考且整理过,说的并不好.想必大家也都知道进程有哪些通信方式,可是我猜很多人都是靠着"背"来记忆的,所 ...
- 记一次腾讯面试:进程之间究竟有哪些通信方式?如何通信? ---- 告别死记硬背
有一次面试的时候,被问到进程之间有哪些通信方式,不过由于之前没深入思考且整理过,说的并不好.想必大家也都知道进程有哪些通信方式,可是我猜很多人都是靠着"背"来记忆的,所以今天的这篇 ...
- java面试题9 牛客:不同的服务器之间,哪种通信方式是不可行的
在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()? A管道 B消息队列 C高速缓存数据库 D套接字 首先看到这道题我是懵逼的,我们分别介绍一下各个的概念 管道为运行在同 ...
- 进程间的7种通信方式(含例程代码)
下面的实验由我和我的同学完成的,这是操作系统课程的一个小实验,可以帮助理解进程间的通信. 进程间的通信 1.匿名管道 2.命名管道 3.消息队列 4.共享内存 5.信号 6.信号量 7.socket ...
- 进程间的7种通信方式全解析及代码示例
目录 1.匿名管道 2.命名管道 3.消息队列 4.共享内存 5.信号 6.信号量 7.socket 进程间的7种通信方式如下: 管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在 ...
- 进程间的几种通信方式的比较和线程间的几种通信方式
近日想总结下进程间,线程间的通信方式,在网上搜索了下,感觉写的很好,照搬过来,当做加深记忆. 几种进程间的通信方式 (1) 管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具 ...
- Linux进程间的6种通信方式
一.进程的概念 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放.可以认为进程是一个程序的一次执行过程. 二.进程通信的概念 进程用 ...
- 进程间的五种通信方式介绍
两种共享内存机制的IPC介绍 https://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html https://www.ibm.c ...
- 基于Linux的USB主/从设备之间的三种通信方式-转
随着简单易用的接口日益流行,在中添加对USB接口的支持已成为大势所趋.本文通过介绍中支持USB的各种模块和库,分析了在Linux上利用USB实现高速串口和以太网连接等通信方式的具体方法. 通用串行总线 ...
最新文章
- information_schema.triggers 学习
- 百度搜索 带网页特效的关键词
- 汇编:转移目的地址在内存中
- html5——DOM扩展
- linux 连个文件都删除不了,什么鬼!
- 高效代码审查的十个经验
- Java架构师面试问些什么?微服务之springcloud面试题(共22题,含详细解答)
- kali linux set工具,求助: 社会工程学工具set 出现错误for kali linux.
- 备份数据库的expdp语句_Oracle数据库备份恢复Data Pump Expdp/Impdp参数详解与案例介绍...
- poj 2253 Frogger floyd 长路求权值最大边,属于简单题!!!!
- IT程序猿常用编辑工具:UltraEdit for Mac v21.00.0.12中文版
- 纯CSS实现下拉菜单导航
- 如何解决类似 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 的问题 #10
- 文章翻译-在线文章翻译软件支持批量导入翻译
- 分享一个linux下的steam的rpm安装包的链接
- sqlserver 附加数据库失败,操作系统错误 5:5(拒绝访问。)的解决办法
- 刷计算机应用教程,电脑怎么用Word格式刷?电脑使用Word格式刷的方法
- Linux日期计算器,【C++】日期类+日期万年历+日期计算器
- DzzOffice开源办公套件(网盘)+OnlyOffice本地预览
- AUC的相关知识及K-S曲线和K-S值介绍
热门文章
- 《Android 面试指南》来自腾讯、阿里巴巴、欢聚时代、美团、聚美优品、悦跑圈等大佬分享的面经...
- 私人影院音响效果如何有效提升?
- 【NOIP-2017PJ】图书管理员
- 学习日记12、list集合中根据某个字段进行去重复操作
- 解决C#中ListView闪烁的办法
- 使用javascript 实现.net 验证控件功能
- android studio AsyncHttpClient;AsyncHttpResponseHandler;RequestParams; 失效问题
- HTTPS和SSL握手过程(转载)
- Profiler中WaitForTargetFPS详解【转】
- java语言的一些小语法