billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 2014
-
8 déc. 2006 à 10:45
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 2014
-
8 déc. 2006 à 13:24
Bonjour,
Après recherche sur le net et sur le forum, je n'ai pas trouvé mon bonheur alors que je suis sûr que la question a déjà du être posée. Je m'en remets donc à vous.
Actuellement, lorsque je dois faire attendre un traitement jusqu'à un certains temps, j'utilisais une boucle while(booléen) { sleep(100); }. C'est pas très joli mais cela marche très bien.
Je me dis donc que je veux faire plus propre (ayant déjà développement en C# .net, je sais qu'il existait une méthode qui permettait d'attendre le changement d'état d'un booléen).
Je me demandes donc s'il existe la même chose en C++ (pas C++.net ^^).
J'ai entendu parlé de WaitForSingleObject() mais cela m'a l'air un peu compliqué pour la chose que je veux faire : attendre le changement d'état d'un booléen, puis poursuivre le programme.
Merci d'avance et bonne journée,
Billou_13
Bask En Force
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 8 déc. 2006 à 12:42
Comme dit Joky, Thread pour effectuer ton calcul.
Tu as une variable partagée entre tes 2 processus et tu attends un évenement sur cette variable un peu particulière.
HANDLE hEvent;
processus père:
hEvent=CreateEvent(NULL, TRUE, FALSE, NULL);
CreateThread(...);
WaitForSingleObject(hEvent, INFINITE);
ResetEvent(hEvent);
CloseHandle(hEvent);
//--> Une fois ici normalement le traitement dans le thread est fini.
processus fils:
//Déroulement du traitement puis indication au père que le calcul est fini
SetEvent(hEvent);
Vive le C
Savon
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 8 déc. 2006 à 13:24
Je prends note, merci à vous.
Bonne journée
Billou_13
Bask En Force
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------