手记

为什么 Android 要采用 Binder 作为 IPC 机制?

  1. 管道:在创建时分配一个page大小的内存,缓存区大小比较有限;

  2. 消息队列:信息复制两次,额外的CPU消耗;不合适频繁或信息量大的通信;

  3. 共享内存:无须复制,共享缓冲区直接付附加到进程虚拟地址空间,速度快;但进程间的同步问题操作系统无法实现,必须各进程利用同步工具解决;

  4. 套接字:作为更通用的接口,传输效率低,主要用于不通机器或跨网络的通信;

  5. 信号量:常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

  6. 信号: 不适用于信息交换,更适用于进程中断控制,比如非法内存访问,杀死某个进程等;

原文链接:http://www.apkbus.com/blog-945217-78001.html

0人推荐
随时随地看视频
慕课网APP