2015-02-10 73 views
1

很簡單,我需要一個在不同用戶擁有的進程間發送廣播類型事件的基本方法,以便我可以協商一個簡單的排隊機制(以防止進程嘗試同時完成所有工作)。什麼是OS X中進程間通信的首選方法?

現在,我知道這樣做的唯一系統是通過notifyd,或者更具體地說,通過使用Objective-C(或實際上,C++/C?)中提供的各種通知函數。

然而,在很多地方已經發生了變化,尤其是我試圖重新使用Swift,同時編寫一個應用程序,該應用程序可以很好地適應新的Mac App Store所需的沙箱模式。所以我很好奇,通過notifyd進行的溝通仍然是OS X中進程間通信的首選機制,或者還有其他方法可以更好地使用?

正如我所說,我的需求相當簡單;我真的需要讓其他流程知道新流程何時啓動,因此他們可以協商一個簡單的系統以循環方式執行其工作,而不需要某種中央流程(因爲該流程需要提升的工作權限)。

回答

2

在OS X中有幾種方法可以做到這一點,一個列表涵蓋了其中的很多here。我會說,首選的方法取決於你想要完成的。如果你真的只是需要發送通知,那麼BSD通知系統是一個輕量級的方法。

相關問題