【发布时间】:2013-04-11 14:51:20
【问题描述】:
我只是在尝试使用多线程程序,但我遇到了 pthread_join 函数的问题。下面的代码只是我用来显示 pthread_join 崩溃的一个简单程序。此代码的输出将是:
before create
child thread
after create
Segmentation fault (core dumped)
是什么导致 pthread_join 给出分段错误?
#include <pthread.h>
#include <stdio.h>
void * dostuff() {
printf("child thread\n");
return NULL;
}
int main() {
pthread_t p1;
printf("before create\n");
pthread_create(&p1, NULL, dostuff(), NULL);
printf("after create\n");
pthread_join(p1, NULL);
printf("joined\n");
return 0;
}
【问题讨论】:
-
您确定已启用并听取了所有编译器警告吗?这看起来有很多可以避免的错误。
标签: c multithreading segmentation-fault pthreads pthread-join