MAC OSX 进程间通信

来源:互联网 发布:阴阳师ios网络连接出错 编辑:程序博客网 时间:2024/04/28 03:17
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.
0 2
原创粉丝点击