Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is NSNotificationCenter thread safe?

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...

like image 942
cfischer Avatar asked Apr 12 '13 10:04

cfischer


2 Answers

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.

like image 76
gaige Avatar answered Oct 07 '22 14:10

gaige


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

like image 27
proxi Avatar answered Oct 07 '22 15:10

proxi