dispatch_get_main_queue()的线程ID

时间:2011-03-07 02:41:17

标签: objective-c grand-central-dispatch

有没有办法找到与'dispatch_get_main_queue()'相关联的线程ID?

1 个答案:

答案 0 :(得分:3)

在主队列上计算的任何块都将在与其关联的线程上进行评估,因此您可以通过询问此块正在评估的线程来获取该线程的ID:

#import <mach/mach_init.h>

__block mach_port_t mainThreadID;
dispatch_async(dispatch_get_main_queue(), ^{
    mainThreadID = mach_thread_self();
});

(A mach_port_t实际上只是一个无符号的int。)