MAC OSX 进程间通信

本文概述了 MacOS 下的进程间通信(IPC)机制,包括 MachAPI、CFMessagePort、DistributedObjects、Appleevents、UNIX domain sockets 和 Memory Mapping 等。根据不同场景需求,如通讯频率、数据量大小等,推荐了适宜的 IPC 方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值