linux下进程间通信的方式


Posted in 面试题 onJanuary 23, 2013
信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数);
管道通信(Pipe)及有名管道(named pipe)通信:管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。
套接字(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。
报文(Message)队列(消 息队列):消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

Tags in this post...

面试题 相关文章推荐
PHP如何去执行一个SQL语句
Mar 05 面试题
JAVA中的关键字有什么特点
Mar 07 面试题
纬创Java面试题笔试题
Oct 02 面试题
C语言如何决定使用那种整数类型
Nov 26 面试题
C/C++程序员常见面试题一
Dec 08 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述
Mar 30 面试题
.NET笔试题(20个问题)
Feb 02 面试题
TCP/IP中的TCP和IP分别承担什么责任
Apr 21 面试题
什么是静态路由?什么是动态路由?各自的特点是什么?
Sep 16 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
Sep 10 面试题
GWT都有什么特性
Dec 02 面试题
介绍一下SOA和SOA的基本特征
Feb 24 面试题
linux系统都有哪些运行级别
Mar 26 #面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
May 03 #面试题
Linux内核产生并发的原因
Nov 08 #面试题
Linux如何为某个操作添加别名
Feb 05 #面试题
Linux如何压缩可执行文件
Mar 27 #面试题
进程的查看和调度分别使用什么命令
Mar 25 #面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 #面试题
You might like
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
Vue slot用法(小结)
2018/10/22 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
jquery实现上传图片功能
2020/06/29 jQuery
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
python定时器(Timer)用法简单实例
2015/06/04 Python
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python 中的lambda函数介绍
2018/10/10 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
python实现五子棋人机对战游戏
2020/03/25 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
python dict乱码如何解决
2020/06/07 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
如何使用Python调整图像大小
2020/09/26 Python
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
物流仓管员工作职责
2014/01/06 职场文书
食品安全责任书
2014/04/15 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
学校开学标语
2014/10/06 职场文书
就业协议书范本
2014/10/08 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python