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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,&params);
}
 
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.