Ca y est je m'en suis enfin sorti de mon histoire, mon probleme etait assez complexe du a des pertes de messages windows (assez long à expliquer comme ca).

Pour conclure tout ca, j'aurai une derniere question. Je reviens la dessus :

Citation Envoyé par Aurelien.Regat-Barrel
[...]threadLecteur (ton exemple) ne doit pas faire de ResetEvent, ça sert à rien, tu annules ton précédent SetEvent. Là tu mélanges avec un Mutex.
Et dans ce context, il faudrait plutôt utiliser une section critique (+ performant).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
//ThreadEcriveur:  
toto=1; // modifier toto
SetEvent(blabla); // signaler qu'il a été modifié

//threadLecteur: 
WaitForSingleObjet(blabla); // attendre une modif, le ResetEvent est implicite si créé correctement
copie_toto = toto; // lire toto
[...]
Je ne comprends pas bien pourquoi je n'aurai pas le droit de faire un resetevent, voici comment je vois la chose (visiblement je la vois mal):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
//En partant du principe que mon event n'est pas automatique
while(bCoursPetitThread)
{
  ResetEvent(blabla); //La je dis aux autres treads "on le lit plus, j'ecris"
 toto=1; //en effet j'ecris !
 SetEvent(blabla); //C'est bon vous pouvez lire de nouveau jusqu'a mon prochain ResetEvent qui aura lieu lors de la prochaine passe.
}
Je ne vois pas comment faire autrement si jamais j'avais (et ca va etre le cas d'ici peu) ce thread écrivain et un nombre non determiné de threads lecteurs : :