https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Notifications/Articles/Threading.html#/ /APPLE_REF/DOC/UID/20001289-CEGJFDFG delivering notifications to particular Threads
Regular Notification Centers deliver notifications on the thread in which the notification was posted. Distributed notification centers deliver notifications on the main thread. At times, your may require notifications to be delivered on a particular thread that's determined by you instead of the No Tification Center. For example, if an object running in a background thread was listening for notifications from the user interface, such as a Window closing, you would like to receive the notifications in the background thread instead of the main thread. In these cases, you must capture the notifications as they is delivered on the default thread and redirect them to the AP Propriate thread.
One-to-redirect notifications is-use-a custom notification queue (not a-object) to-hold any NSNotificationQueue notifications th At is received on incorrect threads and then process them on the correct thread. This technique works as follows. You register for a notification normally. When a notification arrives, you test whether the current thread was the thread that should handle the notification. If It is the wrong thread, your store the notification in a queue and then send a signal to the correct thread, indicating That a notification needs processing. The other thread receives the signal, removes the notification from the queue, and processes the notification.
iOS nsnotificationcenter execution thread after receiving notification