当前位置: 技术问答>linux和unix
一个关于线程的问题
来源: 互联网 发布时间:2016-03-25
本文导语: 1 pthread_exit可否这样使用? 2 为什么thread函数中的printf打印不出来?? 谢谢大家 #include #include void thread(void) { printf("This is a pthread.n"); pthread_exit(NULL); } int main(void) { pthread_t id; int i,ret; ret=pthread_create(&id,NUL...
1 pthread_exit可否这样使用?
2 为什么thread函数中的printf打印不出来??
谢谢大家
2 为什么thread函数中的printf打印不出来??
谢谢大家
#include
#include
void thread(void)
{
printf("This is a pthread.n");
pthread_exit(NULL);
}
int main(void)
{
pthread_t id;
int i,ret;
ret=pthread_create(&id,NULL,(void *) thread,NULL);
if(ret!=0){
printf ("Create pthread error!n");
exit (1);
}
return (0);
}
|
你需要在主线程等待子线程结束。
或者使用sleep,或者使用pthread_join
或者使用sleep,或者使用pthread_join
|
子线程来不及执行main函数就执行完了 这个时候会调用exit函数
进程就结束了 所有的线程也结束了
进程就结束了 所有的线程也结束了