我仔细检查了我在维护的某些代码中所做的一些假设。main()的pthread ID默认为0吗?
我正确理解程序的main()的pthread ID总是被定义为0吗?
因此,举例来说:
#include <pthread.h>
#include <cstdio>
int main(){
printf("Main ID is %X\n", (unsigned int)pthread_self());
}
将始终打印0?
这似乎是它在我自己的系统上的工作原理(Linux,GNU_LIBPTHREAD_VERSION是:NPTL 2.11.1),但是我还没有设法在对pthread库的各种解释中找到对此定义的任何引用。我想知道这种行为是否可靠和便携,还是只是本地侥幸。谢谢!
...好点。很高兴我在检查。 – Ziv 2011-03-23 12:26:52