当我创建一个线程时,我想传递几个参数。所以我在头文件中定义了以下内容:
struct data{
char *palabra;
char *directorio;
FILE *fd;
DIR *diro;
struct dirent *strdir;
};
在 .c 文件中,我执行以下操作
if (pthread_create ( &thread_id[i], NULL, &hilos_hijos, ??? ) != 0){
perror("Error al crear el hilo. \n");
exit(EXIT_FAILURE);
}
我如何将所有这些参数传递给线程。我想:
1)先用malloc给这个结构分配内存,然后给每个参数一个值:
struct data *info
info = malloc(sizeof(struct data));
info->palabra = ...;
2) 定义
struct data info
info.palabra = ... ;
info.directorio = ...;
然后,我如何在线程中访问这些参数 void thread_function ( void *arguments){ ??? }
提前致谢