未收到随机主队列调度

时间:2013-06-19 13:48:05

标签: ios objective-c grand-central-dispatch

我从几个后台线程中调用dispatch_async(dispatch_get_main_queue()。但是,似乎偶尔会执行调度块中的代码。这可能是因为我异步调度并且在主队列执行代码之前线程退出了吗?

2 个答案:

答案 0 :(得分:1)

您是否尝试过将NSLog放在代码段的开头,以确保它没有执行?有时,具有错误逻辑的if语句将预先终止您的代码。 (根据我过去的经验;])

答案 1 :(得分:1)

当dispatch_async()调用返回时,调用它的线程随后是否退出并不重要 - “请求在系统中”可以这么说!在那些“偶尔”的案件中还发生了其他事情。你的程序是否有一个运行循环或在其main函数的末尾调用dispatch_main()?不清楚这是否是您正在描述的Cocoa / iOS / POSIX应用程序。