Problème de modification des paramètres avec des threads synchrones
Bonjour,
voilà, je suis débutante dans le multithreading. j'explique mon problème: j'ai une fonction qui est exécuté avec deux threads selon le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
fonction (a)
{
.....
}
main()
{
funcParams params;
params.a = rand(1,3);
_beginthread(MaFonction,0,¶ms);
}
void MaFonction(void* p)
{
funcParams *params = static_cast<funcParams>(p);
f(params->a);
} |
Lorsque les deux threads sont asynchrones, le programme fonctionne bien mais lorsque les threads sont sychrones, l'une des threads s’exécute avec le paramètre a de l'autre thread. Dans ce cas on a deux threads identique alors que ces threads doivent être différentes selon leur paramètre a
Je serai reconnaissante pour toute information utile pour résoudre mon problème.