NSNotificationCenter线程安全吗?

cfi*_*her 13 concurrency cocoa-touch objective-c grand-central-dispatch nsnotificationcenter

我可以在给定队列中发布通知并在另一个队列中接收通知吗?我想使用通知来传达不同的队列,但我不确定这是否安全......

gai*_*ige 16

通知.通知在它们发送的同一个线程中提供,您需要以某种方式重新发送通知以获取通知到您的线程.


pro*_*oxi 13

没有.

Apple关于该主题的文档说:" 常规通知中心在发布通知的线程上发送通知.[...]有时,您可能需要在由您确定的特定线程上发送通知,而不是通知中心.[...]在这些情况下,您必须捕获在默认线程上传递的通知,并将它们重定向到相应的线程. "

Apple的以下文档可能有所帮助:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Notifications/Articles/Threading.html#//apple_ref/doc/uid/20001289-CEGJFDFG