osx - 获取pthread id

时间:2015-01-28 09:06:15

标签: macos pthreads

在system.log中,我可以看到我的进程:

thread 515376 caught burning CPU! It used more than 50% CPU

我使用多个线程,所以我尝试在线程使用的runnable方法中打印线程id,如下所示:

void* runnable1(void* ptr)
{
    pthread_t tid = pthread_self();
    printf("HELLO from thread runnable1 with id : %ld\n", tid);

    ...
}

然而我得到这样的身份:

HELLO from thread runnable1 with id : 4488212480

与system.log中的那个非常不同。

问题是,如何以system.log中出现的方式获取线程ID?

1 个答案:

答案 0 :(得分:8)

尝试:

uint64_t tid;
pthread_threadid_np(NULL, &tid);
printf("HELLO from thread runnable1 with id : %ld\n", tid);