Linux用C写多线程的递归算法问题
int pthread_create(pthread_t *thread,pthread_attr_t *attr, void *(*start_routine)(void *),void *arg);
里的void *arg是表示线程调用函数的参数,如果我的函数有多个参数,那怎么表示呢?
代码如下
void MakeTopGraph(int x, int y)
{
int *ret,i;
pthread_t *pid;
pid=(pthread_t *)malloc(nextHopNum*sizeof(pthread_t));
ret=(int *)malloc(nextHopNum*sizeof(int));
for(i=0;i<x+y;i++)
{
*(ret+i)=pthread_create(pid+i,NULL,(void *) MakeTopGraph, XXXXXXX); //问题就是这里如何讲需要的XY值传到新建的线程去
if(ret!=0)
{
printf ("Create pthread error!\n");
}
}
}
谢谢!

