比方说,在我的 GUI 应用程序(它可以跨 OSX/iOS 移植)中,我有多个线程可以向主应用程序线程发送通知。通知应该在处理 Cocoa 的输入事件和重绘请求的同一上下文中处理。我的目标是在屏幕上反映来自并发线程的某些事件。
在 Windows 上有 PostMessage(),那么它在 OS X 和 iOS 上的模拟是什么?
dispatch_async()
似乎是一个很好的候选人,但是,文档说:
目标队列确定该块是串行调用还是与提交到同一队列的其他块并发调用。
老实说,这只会造成混乱。另外,不清楚要使用哪个消息队列,dispatch_async
以便针对 GUI 事件串行处理消息。