Utilisation d'une structure en multithread
Bonjour,
Je développe un soft multithread en C.
Dans ce prgm, une structure peut être utilisée par plusieurs thread à la fois. Je n'arrive pas à me rappeler si lorsqu'on passe une structure en paramètre d'une fonction, elle est passée par valeur ou par référence.
Ma structure est assez spéciale, du genre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
typedef struct {
int Var1;
char Tab1[20];
unsigned char pData*;
} MA_STRUCTURE;
MA_STRUCTURE gS1;
int fonction1(MA_STRUCTURE s)
{
....
} |
Si j'utilise cette structure gS1 dans la fonction1, est ce que :
- s est une nouvelle variable locale ?
- s.pData à la même adresse que gS1.pData ?
- s.Tab1 à la même adresse que gS1.Tab1 ?
Pour résumer, j'aimerais être sûr qu'il n'y aura pas de conflit d'accès entre les différents threads sur la même variable.
Merci d'avance pour vos réponses.