cs_kilian
Messages postés2Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention18 février 2003
-
18 févr. 2003 à 16:52
peyramay
Messages postés3Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention22 juin 2010
-
22 juin 2010 à 15:28
bonjour la team
je souhaiterai savoir si qql1 connais une fonction equivalente a la fonction sleep... car pdt que la fonction sleep est activer, je ne peux la desactiver...
merci bcp
a bientot
kilian
jonathanmcdougall
Messages postés64Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 7 mars 2003 19 févr. 2003 à 02:55
> > bonjour la team
> > je souhaiterai savoir si qql1 connais une fonction equivalente a la fonction sleep... car pdt que la fonction sleep est activer, je ne peux la desactiver...
> > merci bcp
> > a bientot
> > kilian
>
> Tu peut faire la meme chose en faisant :
>
> DWORD TimeInit = GetTickCount();
GetTickCount()? Connait pas.
> while ((GetTickCount()<(TimeInit+500)) && Condition)
GetTickCount()? Connait pas.
> {...Changement de Condition...}
>
> 500 est le nombre de miliseconde de ta tempo
> et si condition n'est plus vrai, on sort de la boucle
Ah bon.
> c'est tout...
Pas vraiment. Ce n'est pas portable et kilian n'a pas mentionné son os.
En ne sachant pas l'os, la solution passe par les libraries standards :
crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 20081 19 févr. 2003 à 08:50
Pour info pour jonathan :
> Note que sleep() n'est pas standard et ne devrait pas être employée.
Tu dit ca mais si le sleep est la ce n'est pas pour rien, t'a jamais fait de multitache ? le sleep sert a endormir (comme sont nom l'indique) le thread en cours pour que les autres thread (si il y en a) puisse se réveiller. C'est sur que si ya qu'un seul thread ca donne une tempo...
Donc ca dépend de ce qu'il veut faire.
Et GetTickCount() fonctionne tres bien sur toutes plateformes !
jonathanmcdougall
Messages postés64Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention 7 mars 2003 19 févr. 2003 à 17:24
> Pour info pour jonathan :
>
> > Note que sleep() n'est pas standard et ne devrait pas être employée.
>
> Tu dit ca mais si le sleep est la ce n'est pas pour rien,
Il est là pour permettre aux gens qui utilisent un compilateur donné sous une plate-forme donnée puisse l'utiliser. gcc ne possède pas <conio.h> (à l'origine, c'était propre à Borland, je ne sais pas aujourd'hui).
>t'a >jamais fait de multitache ?
Quel rapport?
>le sleep sert a endormir (comme sont nom l'indique)
Effectivement
>le thread en cours pour que les autres thread (si il y en a)
>puisse se réveiller.
le C++ standard n'a aucune notion de thread. Et <conio.h> en a encore moins. Sleep(), dépendemment de l'implémentation, utilise habituellement un time_t (comme mon exemple) pour arrêter le programme, une boucle à vide.
N'oublie pas que <conio.h> est une librarie non-standard du C, basée sur le mode console (genre ms-dos), par exemple, les fonctions clrscr, gotoxy et textcolor. Sleep() n'a donc aucun rapport avec les threads.
>C'est sur que si ya qu'un seul thread ca donne une tempo...
Le C++ a été conçu pour pouvoir rouler de façon aussi efficace dans un grille-pain que dans un tank. "thread", "couleur", "souris", "écran", "internet", "fenêtre", "clavier", tout ça ça dépend de l'environnement. Chaque environnement fourni ses librairies (non standards donc) pour permettre d'y développer des applications qui utilisent toutes les capacité possibles.
> Donc ca dépend de ce qu'il veut faire.
Et oui, c'est la conclusion logique. Et pour m'auto-citer :
>> Pas vraiment. Ce n'est pas portable et kilian n'a pas
>> mentionné son os.
Si kilian nous avait dis "bonjour je programme sous windows xp avec vc++ .net et je cherche la façon la plus efficace de faire une pause de X secondes dans le programme", tout ceci aurait été évité. Mais en ne connaissant rien de tout ça, je ne pouvais que lui proposer une façon standard.
> Et GetTickCount() fonctionne tres bien sur toutes
>plateformes !
Faux, GetTickCount() est déclarée dans <windows.h>.
Vous n’avez pas trouvé la réponse que vous recherchez ?
peyramay
Messages postés3Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention22 juin 2010 22 juin 2010 à 15:28
Bonjour,
j'ai actuellement un problème avec la fonction sleep(0)dans une appli VC++ qui consomme la moitié du CPU sur un OS windows serveur 2003 avec un processeur multicore.
Quelqu'un aurait-il une idée de comment baisser la conso CPU en ne touchant qu'à la programmation de l'appli?