Generally, you want to avoid blocking the current thread's execution using YES.
If NO, the message will be added to the main thread's run loop's to do list to be performed when the run loop resumes -- that could be soon and practically immediately/concurrently.