2015-02-10 47 views
1

很简单,我需要一个在不同用户拥有的进程间发送广播类型事件的基本方法,以便我可以协商一个简单的排队机制(以防止进程尝试同时完成所有工作)。什么是OS X中进程间通信的首选方法?

现在,我知道这样做的唯一系统是通过notifyd,或者更具体地说,通过使用Objective-C(或实际上,C++/C?)中提供的各种通知函数。

然而,在很多地方已经发生了变化,尤其是我试图重新使用Swift,同时编写一个应用程序,该应用程序可以很好地适应新的Mac App Store所需的沙箱模式。所以我很好奇,通过notifyd进行的沟通仍然是OS X中进程间通信的首选机制,或者还有其他方法可以更好地使用?

正如我所说,我的需求相当简单;我真的需要让其他流程知道新流程何时启动,因此他们可以协商一个简单的系统以循环方式执行其工作,而不需要某种中央流程(因为该流程需要提升的工作权限)。

回答

2

在OS X中有几种方法可以做到这一点,一个列表涵盖了其中的很多here。我会说,首选的方法取决于你想要完成的。如果你真的只是需要发送通知,那么BSD通知系统是一个轻量级的方法。

相关问题