我仔細檢查了我在維護的某些代碼中所做的一些假設。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