如何获取当前的 pthread ID?
How do I get the current pthread ID?
在system.log我可以看到我的过程:
thread 515376 caught burning CPU! It used more than 50% CPU
我使用多个线程,所以我尝试在线程使用的可运行方法中打印线程 ID,如下所示:
void* runnable1(void* ptr)
{
pthread_t tid = pthread_self();
printf("HELLO from thread runnable1 with id : %ld\n", tid);
...
}
但是我得到了这样的 id:
HELLO from thread runnable1 with id : 4488212480
与 system.log 中的非常不同。
问题是,我如何获得线程 ID 在 system.log 中的显示方式?
试试:
uint64_t tid;
pthread_threadid_np(NULL, &tid);
printf("HELLO from thread runnable1 with id : %ld\n", tid);
在system.log我可以看到我的过程:
thread 515376 caught burning CPU! It used more than 50% CPU
我使用多个线程,所以我尝试在线程使用的可运行方法中打印线程 ID,如下所示:
void* runnable1(void* ptr)
{
pthread_t tid = pthread_self();
printf("HELLO from thread runnable1 with id : %ld\n", tid);
...
}
但是我得到了这样的 id:
HELLO from thread runnable1 with id : 4488212480
与 system.log 中的非常不同。
问题是,我如何获得线程 ID 在 system.log 中的显示方式?
试试:
uint64_t tid;
pthread_threadid_np(NULL, &tid);
printf("HELLO from thread runnable1 with id : %ld\n", tid);