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

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

Votre réponse

3 réponses

Meilleure réponse
Messages postés
458
Date d'inscription
jeudi 4 décembre 2003
Dernière intervention
19 décembre 2008
2
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 98 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
Dernière intervention
31 janvier 2009
3
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
Dernière intervention
19 août 2014
16
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.