Attendre changement de valeur d'un booléen [Résolu]

Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
- - Dernière réponse : billou_13
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 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
---------------------
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
458
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de julienbj
Messages postés
1791
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
1
0
Merci
Ben j'vois pas d'autre possibilité que l'utilisation d'un thread...

ULARGE_INTEGERJokyQi=QI("Joky"
Commenter la réponse de cs_Joky
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
0
Merci
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
---------------------
Commenter la réponse de billou_13