Can I post a notification in a given queue and receive it on another? I want to use notifications to communicate different queues, but I'm not sure if this is safe...
No. Notifications are delivered in the same thread that they are sent from, this you will need to re-send it in some way to get the notification to your thread.
No.
Apple's docs on the subject say: "Regular notification centers deliver notifications on the thread in which the notification was posted. [...] At times, you may require notifications to be delivered on a particular thread that is determined by you instead of the notification center. [...] In these cases, you must capture the notifications as they are delivered on the default thread and redirect them to the appropriate thread."
The following documentation from Apple might help: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Notifications/Articles/Threading.html#//apple_ref/doc/uid/20001289-CEGJFDFG
The question asked in the title of this page is “Is NSNotificationCenter
thread safe?” The answer to that question is YES. From “Thread Safety Summary” in the Threaded Programming Guide:
The following classes and functions are generally considered to be thread-safe. You can use the same instance from multiple threads without first acquiring a lock.
The question asked in the body of this page has been answered correctly by other responders.
© 2022 - 2025 — McMap. All rights reserved.