首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >appleevent与通知

appleevent与通知
EN

Stack Overflow用户
提问于 2010-08-07 04:30:53
回答 2查看 153关注 0票数 0

我正在寻找一个高性能的macos进程间通信系统。

最好的系统是什么?AppleEvents还是NSNotifications

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-07 08:51:48

如果您的目标是高性能和/或可靠性,则分布式通知(即通过NSDistributedNotificationCenter发送的通知)很可能不是一个好的选择。以下是苹果自己对这个问题的看法:

发布分布式通知是一项开销很大的操作。通知被发送到系统范围的服务器,该服务器将通知分发给具有为分布式通知注册的对象的所有任务。发送通知和通知到达另一个任务之间的延迟是无限的。事实上,当发布的通知太多,并且服务器的队列被填满时,通知可能会被丢弃。http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSDistributedNotificationCenter_Class/Reference/Reference.html

根据您所说的“高性能”的含义,您可能希望研究分布式对象,或普通的老式Unix IPC机制(套接字、管道、共享内存等)。

票数 1
EN

Stack Overflow用户

发布于 2011-07-15 01:58:05

如果您同时控制发送方和接收方,则可以在两个进程( man套接字对)之间打开一个套接字,这是相当高的性能。您还可以打开共享位置(如/tmp )中的文件,并从一个进程写入该文件,然后从另一个进程读取该文件,这是相当快的。您还可以在本地计算机上打开两个TCP/IP端口,每个进程一个端口,然后“通过网络”从一个端口发送到另一个。

如果您只有两个选择是NSNotifications或AppleEvents,那么AppleEvents可能会表现得更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3427560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档