- 论坛徽章:
- 1
|
下面是代码。
很多书上说进程会等分离线程完成后才退出,但是我这里实验的结果不对阿,是怎么回事那?肯定大牛讲解以下~~
#include <stdio.h>
#include <pthread.h>
void * thread_func(void * arg)
{
pthread_t id = pthread_self();
printf("Thread 1 : %u start\n",id);
sleep(10);
fprintf(stderr,"Thread 1 :%u stop\n");
return NULL;
}
int main()
{
pthread_t thd1;
int ret;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
ret=pthread_create(&thd1,&attr,thread_func,NULL);
pthread_attr_destroy(&attr);
if(ret != 0)
{
printf("Create thread 1 error!\n");
}
printf("Thread 1 : %u\n",thd1);
return 0;
} |
|