70,004
社区成员




#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<pthread.h>
#include<unistd.h>
void *fn()
{
pthread_detach(pthread_self());
return NULL;
}
int main(void)
{
pthread_t tid;
int i;
for (i = 0; ; i++) {
int err = pthread_create(&tid, NULL, fn, NULL);
if (err!=0) {
printf("%s\n", strerror(err));
break;
}
printf("i = %d\n", i);
}
return 0;
}
你是在那个平台上运行改程序,我在Linux下运行了,没有出现错误,一直在运行(通过查看i的值)。这是一个无限创建线程,并且线程会自动释放的程序。