Le sommeil de l'opération en C++, plate-forme : windows
Je veux effectuer l'mentionnés ci-dessus opération en Millisecondes. La bibliothèque et de l'appel de fonction dois-je préférer ?
Ty.
Le Sleep de la fonction?
Êtes-vous bien sûr que le sommeil est la meilleure solution? Il n'est généralement pas le cas.
Si vous avez besoin de dormir pendant quelques millisecondes noter que sleep() peut avoir une résolution de 10 ms ou plus
Merci, vous êtes tous très serviables
Êtes-vous bien sûr que le sommeil est la meilleure solution? Il n'est généralement pas le cas.
Si vous avez besoin de dormir pendant quelques millisecondes noter que sleep() peut avoir une résolution de 10 ms ou plus
Merci, vous êtes tous très serviables
OriginalL'auteur Pumpkin | 2011-10-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le Le sommeil fonction de l'API Win32.
OriginalL'auteur Branko Dimitrijevic
Ou si vous utilisez Visual Studio 2010 (ou d'un autre c++0x conscient compilateur) utilisation
Avec les anciens compilateurs, vous pouvez avoir le même confort à l'aide de la pertinente Bibliothèques Boost
Inutile de dire que le principal avantage ici est portabilité et la facilité de convertir le paramètre retard à 'l'homme' unités.
Ce qui signifie simplement que c'est maintenant généralement applicables réponse, années en bas de la route 🙂
OriginalL'auteur sehe
le planificateur de tâches de windows a une granularité loin au-dessus de 1 ms (en général, les 20ms). vous pouvez tester cela en utilisant le compteur de performance pour mesurer le temps réellement passé dans la
Sleep()
fonction. (à l'aide deQueryPerformanceFrequency()
etQueryPerformanceCounter()
vous permet de mesurer des temps de l'ordre de la nanoseconde). notez queSleep(0)
rend le fil de sommeil pour la durée la plus courte possible.cependant, vous pouvez modifier ce comportement en utilisant
timeBeginPeriod()
, et de passer un 1ms période. maintenantSleep(0)
devrait revenir beaucoup plus rapide.noter que cet appel de fonction a été faite pour la lecture de flux multimédias avec une meilleure précision. je n'ai jamais eu aucun problème avec cela, mais la nécessité d'une telle rapide période est assez rare. en fonction de ce que vous essayez d'atteindre, il peut y avoir de meilleures façons d'obtenir la précision que vous voulez, sans avoir recours à ce "hack".
OriginalL'auteur Adrien Plisson
Er, le sleep() de la fonction de l'api win32?
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298%28v=vs.85%29.aspx
OriginalL'auteur ksming