J'ai deux threads qui utilisent un événement pour la synchronisation. Dans chaque thread ils utilisent le même appel:Création/ouverture d'événements en C++ et vérification de leur déclenchement
::CreateEvent(NULL,TRUE,FALSE,tcEventName)
Le fil de producteur est celui qui fait l'appel d'abord, alors que le fil du consommateur fait l'appel dernier, il est donc techniquement ouverture, ne pas créer l'événement ... Je suppose.
Mais, quand SetEvent est appelé dans le fil de producteur, le même événement ne se déclenche dans le fil à la consommation (je l'utilise WaitForMultipleObjects())
est-il un outil qui peut me dire si l'événement est effectivement se déclencher correctement.
De même, lorsque j'appelle CreateEvent() dans chaque thread, la valeur du descripteur renvoyé est différente pour chaque ... doivent-ils être les mêmes?
Y a-t-il une meilleure façon de faire cela pour que cela fonctionne?
C'est sous Windows XP en utilisant Visual Studio 2005
Edit: je l'ai fait un peu plus de vérifier et a constaté que l'appel CreateEvent dans le fil de producteur (le second à appeler CreateEvent) met LastError à 183 (ERROR_ALREADY_EXISTS) , cependant CreateEvent retourne toujours un handle à l'événement ... que donne? Comment peut-il erreur comme existant déjà mais toujours retourner un handle? Ou est-ce censé faire ça?
Voir la question mise à jour ... –
http://www.google.com/search?q=createevent <- premier résultat – SoapBox