MAC OSX 进程间通信

Mac OS在下面IPC方式很多类型,大约如下。

 
1. Mach API 
2. CFMessagePort 
3. Distributed Objects (DO) NSDistributedNotificationCenter
4. Apple events 
5. UNIX domain sockets 
6. Internet sockets 或者 XPC(NSConnection)

7. Memory Mapping 


还有Pipe,NSTask,消息队列,远程过程调用,通知,信号量和锁设置之类

 

第1种太底层,非常少有人用苹果也不推荐 .
第2。3,4种是苹果提供的较为高层的通讯机制 .
第5,6种大家应该都知道,用sockets方法离散度。移植性更好。

5和6有一些差别,5使用unix文件系统作为通讯媒介,能够使用unix文件权限系统做通讯限制。它的另外一个名字就叫ipc sokets。6能够做机器间通讯做本地ipc也能够,只是要额外做一些努力。 
第7种适合数据比較大的情况.
 
1. 假如你的进程间通讯不频繁。仅仅是发送一些异步信号。DO是非常好的选择,也就是NSDistributedNotificationCenter.
2. 假设你的进程间通讯频繁。但数据量不大,须要响应度高,domain sockets非常好.
3. 最后假设进程间通讯频繁,数据流巨大比如音频,图片等。须希望real-time级别,  选Memory Mapping.

版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-09-25 09:57  zfyouxi  阅读(1799)  评论(0编辑  收藏  举报