Timer - gestion du temps

aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 - 18 janv. 2007 à 08:45
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 - 18 janv. 2007 à 14:36
Salut!

Je fais une application graphique qui va appeler différents programmes à intervalles différents, et réglables.
J'aimerais savoir comment décompté du temps, sans que ceci soit bloquant.
Mon application tournera 24h/24.
J'ai vu des codes avec des boucles while qui attendent la différence de temps... mais si quelqu'un à des pistes pour quelque chose de non bloquant svp.

Merci :)

PS : Windows, C++,  GCC.

4 réponses

cs_vicenzo Messages postés 178 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 25 août 2010 1
18 janv. 2007 à 08:58
Bonjour,

S'il s'agit de géer des intervalles, le plus simple est de gérér un thread qui se chrge de cette vérification. Exemple de code :

*********** pour lancer ton thread de vérification

_beginthread(check, 0, NULL);

********** job du thread

void check(void *data)
{
    do
    {
        .... main job : interval or time checking

    }
    while (WaitForSingleObject(event, timeout) != WAIT_OBJECT_0);
}

...

Vicenzo.
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
18 janv. 2007 à 09:25
Salut aurelien,

il y a beaucoup plus simple pour les timers avec SetTimer pour lancer et KillTimer pour arrêter.
C'est extrêmement simple d'utilisation.
Cherche des exemples d'utilisation dans des sources sur cppfrance.

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
18 janv. 2007 à 14:30
Yop,

SetTimer() - Créer un timer
KillTimer - le détruire
WM_TIMER message du timer. Si plusieur timer utiliser des fonctions pour chaques timer.

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
18 janv. 2007 à 14:36
Pas obligé les fonctions. L'identifiant de chaque timer suffit pour les différencier dans le WM_TIMER.

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
0
Rejoignez-nous