Passer plusieurs arguments pour filetée fonction de pthread_create

c'est ma première tentative à l'enfilage en C. je suis entrain de créer un cercle délimité de la mémoire tampon. Je sais comment créer le thread, mais tous les exemples que j'ai vu que filetés fonctions qui acceptent un paramètre void, mais malheureusement, mon travailleur de la spécification m'oblige à utiliser les trois, comme illustré ici:

void bufferRead(BoundedBuffer* buffer, char* data, int count) {
    pthread_mutex_lock(&buffer->mutexBuffer);
    <snip>
    pthread_mutex_unlock(&buffer->mutexBuffer);
}

Voici mon pthread_create déclaration

pthread_create(&buffer.readThread, NULL, (void *)bufferRead, &readParams)

Et mon readParams struct/affectations

struct readThreadParams {                                                   
    BoundedBuffer b;                                                        
    char* data;                                                             
    int count;                                                              
};                                                                          

struct readThreadParams readParams;                                         
readParams.b = buffer2;                                                     
readParams.data = out_array;                                                
readParams.count = in_size;

Des conseils sur la façon d'attribuer à chacune des struct paramètres après le passage à la bufferRead fonction serait grandement apprécié.

OriginalL'auteur ChrisDevWard | 2013-04-26