当前位置: 技术问答>linux和unix
多线程错误
来源: 互联网 发布时间:2016-03-17
本文导语: int main(int argc ,char *argv[]) { pthread_t id; int m,ret; ret=pthrea...
int main(int argc ,char *argv[])
{
pthread_t id;
int m,ret;
ret=pthread_create(&id,NULL,(void *)spider(),NULL);
if(ret!=0)//在此出错。
printf("线程创建失败!");
ret=pthread_join(id,NULL);
spider();
return 0;
}
出错
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1082502336 (LWP 4296)]
0x00000001 in ?? ()
怎么回事???
{
pthread_t id;
int m,ret;
ret=pthread_create(&id,NULL,(void *)spider(),NULL);
if(ret!=0)//在此出错。
printf("线程创建失败!");
ret=pthread_join(id,NULL);
spider();
return 0;
}
出错
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1082502336 (LWP 4296)]
0x00000001 in ?? ()
怎么回事???
|
你的 spider 函数在什么地方 ?
#include
#include
#include
#include
void *input(void *ch);
char i;
int main()
{
pthread_t t1,t2;
char message[]="t1";
pthread_create(&t1,NULL,input,(void *)message);
exit(1);
}
void *input(void *ch)
{
while(1)
{
printf("ok");
}
}
gcc t.c -lpthread
注意加上 -lpthread
#include
#include
#include
#include
void *input(void *ch);
char i;
int main()
{
pthread_t t1,t2;
char message[]="t1";
pthread_create(&t1,NULL,input,(void *)message);
exit(1);
}
void *input(void *ch)
{
while(1)
{
printf("ok");
}
}
gcc t.c -lpthread
注意加上 -lpthread
|
先标注一下.