如何将多个值作为参数传递给C中的线程?

Din*_*esh 2 c pthreads

在C中,我如何将多个参数传递给线程?

通常情况下,我是这样做的,

 pthread_create(&th,NULL,dosomething,(void*)connfd);


void * dosomething(void *connfd)
{

  // Doing something      

}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我只将connfd值传递给线程'th'.

有没有办法传递多个值,以便它对我有用?

还有一件事,我们可以将数组作为参数传递给线程吗?

Bas*_*tch 7

将几个值打包在struct堆中(所以malloc它之前填充),然后pthread_create使用指向它的指针调用struct.