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)
第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.
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
- MAC OSX 进程间通信
- 进程间通信 (OSX/iOS)
- 进程间通信 (OSX/iOS)
- 进程间通信 (OSX/iOS)
- 进程间通信 (OSX/iOS)
- 进程间通信 (OSX/iOS)
- Mac OSX下开机启动守护进程,接受远程命令,从而启动、通信cocoa app
- ios进程间通信问题之一--进程间通信 (OSX/iOS)
- mac osx
- 进程&进程间通信
- #CentOS on Mac#3.进程通信
- Mac OSX - User Profile
- Mac OSX Command: launchctl
- Mac OSX Commands:od
- Mac OSX Commands:mdls
- Mac OSX安装Git
- Erlang in Mac OSX
- Mac OSX 调用 Dylib
- Given Length and Sum of Digits...---------cf水题
- WCF Data Service 创建OData服务
- 20070530SSH自动登录
- centos x86 64bit 升级python2.6到2.7
- 【C语言疯狂讲义】(六)C语言函数
- MAC OSX 进程间通信
- 第十二周项目二20个数
- 第12周项目2(1)-求N组数的最大公约数
- android五大布局
- K-means聚类算法
- Android的.9.png图片分析
- 自定义泛型
- 微软图形控件(Chart或MSchart)的用法
- 批量执行SQL文件