bonjour les gens !
comment faire une temporisation de quelques millisecondes dans mon prog ?
j'ai tenté avec nanosleep de time.h mais mon compilateur ne connait pas cette fonction (djgpp sous win32)
merci les gens
bonjour les gens !
comment faire une temporisation de quelques millisecondes dans mon prog ?
j'ai tenté avec nanosleep de time.h mais mon compilateur ne connait pas cette fonction (djgpp sous win32)
merci les gens
Bonjour,
La seule manière de faire une pause sous Windows est d'utiliser Sleep() si l'on pas besoin d'alerter le programme que la pause est fini (sinon on utilisera SleepEx ou toutes les APIs WaitForxxx).
Attention toutefois, les fonctions d'attentes ont une certaines latence due au quantum de thread.
Je quote la MSDN :
Il faut donc comprendre que même si on spécifie Sleep(0) le système va qd même attendre un certians moment (de l'ordre de qques millisecondes).In particular, if you specify zero milliseconds, the thread will relinquish the remainder of its time slice but remain ready. Note that a ready thread is not guaranteed to run immediately. Consequently, the thread may not run until some time after the specified interval elapses
Ainsi sous une certaine barre le temps d'attente sera plus long que prévu (sous 10 à 15 millisecondes, le temps d'attente est de toute manière de 10 à 15 millisecondes), et en prime ce temps d'attente n'est jamais "très" précis à quelques millisecondes près...
Bonjour,
Un exemple est donné dans la FAQ : Comment chronométrer des temps d'exécution (API Windows) ?
Partager