您的位置首页生活百科

phtread_t tid和pthread_self()打印出来的线程ID为什么不一样呢?

phtread_t tid和pthread_self()打印出来的线程ID为什么不一样呢?

的有关信息介绍如下:

phtread_t tid和pthread_self()打印出来的线程ID为什么不一样呢?

pthread_self() 返回的是当前执行线程的 ID, 这里显示的是 main(即主线程)的 ID;而 pthread_t 里记录的是 pthread_create() 新产生的线程的 ID, 亦即 thread_main 的 ID, 两者当然不同

虽然 manpage 里没有提到, 但 POSIX 标准上有讲到, pthread_join 一个不可 join 的线程, 其返回结果是不确定的. 以下是原文( http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_join.html) : The behavior is undefined if the value specified by the thread argument to pthread_join() does not refer to a

joinable thread.