我必须做一个包含两个线程的函数。一个必须读取一个管道,另一个必须写入另一个管道。但我不知道如何将管道传递给线程函数,因为在 pthread_create 的参数部分中必须有另一个结构。如果这样更清楚一点,我会放一些代码。
void *readFather(Job *job){
write (desc1Pipe[0],job->in, job->size_in);
}
void *writeFather(Job *job){
if ((job->size=read (desc2Pipe[1], job->out, job->max_out) > job->max_out)
kill(job->pidhijo,SIGKILL);
}
这些是我给 pthread_create 的函数。
这是线程的调用。
pthread_t pid1;
pthread_t pid2;
...
pthread_create(&pid1, NULL, readFather, &job);
pthread_create(&pid2, NULL, writeFather, &job);
请帮助我,我已经做了我能想到的所有事情,我对所有与 C 相关的东西都很陌生。