根据pthread_create 手册页,该函数的参数是:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
void *(*start_routine) (void *), void *arg);
关于 void *arg
,我只是想知道我是否可以向它传递多个参数,因为我编写的函数需要 2 个参数。
最佳答案
使用您的void*
,您可以传递您选择的结构:
struct my_args {
int arg1;
double arg2;
};
这实际上允许您传入任意参数。您的线程启动例程除了解压缩那些调用真正的线程启动例程(它本身可能来自该结构)之外什么都不做。
关于c - pthread_create 中的多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15259714/