1

我有一个多线程程序通过 NSNotificationCenter 发送消息(addObserver:.. 和 postNotification:... 方法)。

线程订阅了不同的通知,其中一些是共享的,因此应该在不同的线程中接收消息。

正常情况下,所有的通知都在所有线程中被正确接收和处理,但有时在一些正在监听通知的线程中没有调用通知的回调函数。

有没有办法确保我的所有通知都会被所有订阅的线程处理?

4

2 回答 2

1

重要的不是您订阅通知的线程,而是发布通知的线程。您可能必须编写自己的通知管理器才能做到这一点。我认为这不会过于复杂,我建议使用dispatch_queue_ts 而不是线程。

于 2013-09-23T10:03:51.177 回答
0

NSNotificationCenter 在触发原始通知的同一线程上启动已注册的方法。你确定这个线程还活着吗?

于 2013-09-23T10:10:42.820 回答