进程间的通信方式

标签: 进程 通信 | 发表时间:2013-11-30 19:30 | 作者:fenglingcao_dreamfly
出处:http://www.iteye.com
  • 管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。(进程间的亲缘关系指父子进程关系)
  • 有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间通信。
  • 信号量(semophore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也来访问该资源。因此,主要作为进程间以及统一进程不同线程间的同步手段。
  • 消息队列(message queue):消息队列是由消息的链表,存放在内核中并由消息标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
  • 信号(signal):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生
  • 共享内存(shared memory):共享内存就是映射一段能被其他进程访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式效率低而专门设计的。它往往与其他通信机制,如信号量配合使用,来实现进程间的同步和通信。
  • 套接字(socket):使用套接字除了可以实现网络间不同主机间的通信外,还可以实现同一主机的不同进程间的通信,且建立的通信是双向的通信。


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [进程 通信] 推荐:

Android 进程间通信

- - SegmentFault 最新的文章
单例居然失效了,一个地方设置值,另个地方居然取不到,这怎么可能. 排查半天,发现这两就不在一个进程里,才恍然大悟……. 按照操作系统中的描述:进程一般指一个执行单元,在 PC 和移动设备上指一个程序或者一个应用. 我们都知道,系统为 APP 每个进程分配的内存是有限的,如果想获取更多内存分配,可以使用多进程,将一些看不见的服务、比较独立而又相当占用内存的功能运行在另外一个进程当中.

进程间的通信方式

- - 行业应用 - ITeye博客
管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用. (进程间的亲缘关系指父子进程关系). 有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间通信. 信号量(semophore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问.

android跨进程通信(IPC):使用AIDL

- - CSDN博客移动开发推荐文章
AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码. 如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数.

进程间通信(IPC):共享内存

- - CSDN博客推荐文章
共享内存允许两个不相关的进程访问同一个逻辑内存. 第一个程序创建一个共享内存段,然后把写到它里面的数据都显示出来. 第二个程序将连接一个已有的共享内存段,并允许我们向其中输入数据. After the headers the shared memory segment (the size of our shared memory structure) is created with a call to shmget, with the IPC_CREAT bit specified.

android 进程间通信方式

- - 移动开发 - ITeye博客
由于android系统中应用程序之间不能共享内存. 因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些. 在android SDK中提供了4种用于跨进程通讯的方式. 这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service.

六种方法全面解释Linux下进程间通信

- - 膘叔
 因为最近在写点东西遇到了这方面的问题. 所以关注了一下,这段内容是摘抄来的. 因为以前用PHP的时候,一般就是shm_attach/msg_get_queue/ 管道等. 有些东西不是特别熟,所以记录下来做笔记 . Linux下进程间通信大致有以下几种:(来自:http://golang.usr.cc/blog-1403-3071.html).

linux进程间通信方式及比较

- - CSDN博客推荐文章
   1.管道(pipe)及有名管道(named pipe):.      管道可用于具有亲缘关系进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信. 2.信号(signal):.      信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一致得.

JavaScript之web通信

- - Web前端 - ITeye博客
浏览器作为 Web 应用的前台,自身的处理功能比较有限. 浏览器的发展需要客户端升级软件,同时由于客户端浏览器软件的多样性,在某种意义上,也影响了浏览器新技术的推广. 在 Web 应用中,浏览器的主要工作是发送请求、解析服务器返回的信息以不同的风格显示. AJAX 是浏览器技术发展的成果,通过在浏览器端发送异步请求,提高了单用户操作的响应性.

监控进程

- - 火丁笔记
有时候,进程突然终止服务,可能是没有资源了,也可能是意外,比如说:因为 OOM 被杀;或者由于 BUG 导致崩溃;亦或者误操作等等,此时,我们需要重新启动进程. 实际上,Linux 本身的初始化系统能实现简单的功能,无论是老牌的 SysVinit,还是新潮的  Upstart 或者  Systemd 均可,但它们并不适合处理一些复杂的情况,比如说:CPU 占用超过多少就重启;或者同时管理 100 个 PHP 实现的 Worker 进程等等,如果你有类似的需求,那么可以考虑试试 Monit 和 Supervisor,相信会有不一样的感受.

HTML5 web通信(跨文档通信/通道通信)简介

- - 张鑫旭-鑫空间-鑫生活
本文地址: http://www.zhangxinxu.com/wordpress/?p=2229. web通信(洋名:web messaging)是一种文档中独立的浏览上下文间的DOM不会被恶意的跨域脚本暴露数据分享方式. 得得得,术语啊什么的,比看到凤姐还头疼. web通信是一种数据分享方式(有屁话之嫌);.