查找GCD队列信息以及队列从执行块中生成的线程

时间:2013-07-24 15:28:25

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

当执行添加到队列的块时,是否可以找到队列信息(例如它是主队列,并发队列等)以及队列所在的线程?

2 个答案:

答案 0 :(得分:0)

即使它在iOS6中已被弃用,您仍然可以使用dispatch_get_current_queue()进行调试。然后,您可以使用dispatch_get_main_queue()获取主队列,使用dispatch_get_global_queue()获取全局队列,并检查它们中的哪一个等于您的队列。

答案 1 :(得分:0)

你不应该直接比较GCD中的队列。请参阅此答案:Is this the right way to compare two GCD Queues?

如果您只需要检查您是否在主线程上(例如,与UIKit交互),请使用[NSThread isMainThread]dispatch_async(dispatch_get_main_queue(), ...)