当前位置: 技术问答>linux和unix
多线程参数传递
来源: 互联网 发布时间:2016-06-21
本文导语: 我想将主函数中的一个函数senddata建立一个线程单独执行,senddata中原来有3个参数,我把他放到一个结构senddatastu中,在 主函数中新建线程如下: pthread_create(&id1,NULL,senddata,senddatastu); 其中第三个参数和第四个参数的...
我想将主函数中的一个函数senddata建立一个线程单独执行,senddata中原来有3个参数,我把他放到一个结构senddatastu中,在 主函数中新建线程如下:
pthread_create(&id1,NULL,senddata,senddatastu);
其中第三个参数和第四个参数的原型为:
void *senddata(void *)
struct
{
Twolink *datalink;
Twolink *nulllink;
int len;
}senddatastu;
函数senddata原来的原型为:
void *senddata(Twolink &, Twolink &, int len);
现在senddata函数内部没变,编译提示不认识里面的datalink,nulllink和len了,,,,,,,,怎么样传递才好?
pthread_create(&id1,NULL,senddata,senddatastu);
其中第三个参数和第四个参数的原型为:
void *senddata(void *)
struct
{
Twolink *datalink;
Twolink *nulllink;
int len;
}senddatastu;
函数senddata原来的原型为:
void *senddata(Twolink &, Twolink &, int len);
现在senddata函数内部没变,编译提示不认识里面的datalink,nulllink和len了,,,,,,,,怎么样传递才好?
|
完了,写错了。
senddatastu * p_data =(senddatastu *) p;
这一句就行了。
senddatastu * p_data =(senddatastu *) p;
这一句就行了。