可能重复:
了解 pthread_detach
以下代码正在创建一个打印“新线程”的线程。
#include<stdio.h>
#include<pthread.h>
void *thr_fn(void *arg)
{
printf("New thread\n");
sleep(5);
return (void *)1;
}
int main()
{
pthread_t pid;
void *t;
pthread_create(&pid,NULL,thr_fn,NULL);
printf("main thread\n");
exit(0);
}
输出可以是以下任何一种:
1.main thread
New thread
2.main thread
3.main thread
New thread
New thread
第一个和第二个都令人信服。但是任何人都可以解释第三个可选输出背后的原因。