多线程参数问题(就是线程带参数,如何创建)
kw123 2012-04-26 02:33:10 主:
ret = pthread_create (&thrd[0],NULL, (void*(*)(void*))TRASRcvPortData0, &mutex[0]);//发送线程
if(ret)
{
printf("pthread_create TRASRcvPortData 0: PortID = %d fail!\n",Port[SendPortNo].PortID);
return FALSE;
}
else
{
Port[SendPortNo].hPortRcv=thrd[0];
perror("pthread_0_create");
printf("thrd[0] TRASRcvPortData0 pthread_create\r\n");
}
.............
void *TRASRcvPortData0(void)
{
while(ThreadRun)
{
............
a=b[0]
c=d[0]
............
}
}
是这样的,如果我要做n个线程的话,常理来说,需要
TRASRcvPortData0
TRASRcvPortData1
TRASRcvPortData2
TRASRcvPortData3
.....................,而这些函数里面的.只是一些参数不一样而已,其他的都一样的...
我尝试 TRASRcvPortData(int bj) 里面的.但是只可以执行一个的.后面就执行不了
请大侠帮我看下,,如果能够是多线程带些参数.这样我就一个函数即可.我可以动态的创建线程的多少了...........................................
怎么处理呢? 或者有什么更好的方法的!