2014-03-03 40 views
1

如果通過子線程觸發通知,然後通過NSNotificationQueue(當然是在子線程中調用)發佈它,但在主線程中工作處理程序,則不會調用該處理程序。但是如果通知在主線程中觸發,它將按預期工作。NSNotificationQueue,發件人和處理程序必須在同一個線程中嗎?

Apple是否意味着通知發件人和處理程序必須位於同一個線程中?如果是,NSNotificationQueue似乎不是那麼有用。任何人都知道,請提前分享和感謝。

​​

回答

1

它們將在同一個線程中。如果您需要在NSOperationQueue

編輯多線程的樣子:

NSNotificationQueue class reference:每個線程都有一個默認的通知隊列,這是使用默認的通知中心的任務相關聯。您可以創建自己的通知隊列,並且每個中心和線程都有多個隊列。

和:

+ (id)defaultQueue 返回當前線程默認的通知隊列。此通知隊列使用默認通知中心。

+0

每個子線程都有自己的NSNotificationQueue,defaultQueue在主線程中,對不對?謝謝。 – jianhua

相關問題