Para aclarar, me refiero al tiempo pasado mientras el sistema está suspendido/hibernado, no el hilo de llamada (GetTickCount() devuelve el número de milisegundos desde el inicio del sistema).¿Incluye GetTickCount() tiempo suspendido o hibernado?
Respuesta
Hasta donde yo sé, GetTickCount no está relacionado con los hilos y cuenta el tiempo transcurrido desde que se inició el sistema. Pero es mejor usar GetTickCount64 para evitar el roleover de 49.7 días.
Por cierto, para obtener lo que necesita, necesita la función GetThreadTimes. Registra la creación y el tiempo de salida y la cantidad de tiempo que el hilo ha pasado en el usuario o en el espacio del kernel. Entonces, tienes una buena forma de calcular la cantidad de tiempo que gastas.
Ok, me perdí la parte del "sistema" de la pregunta. Pero eso es simple. Cuando está en hibernación GetTickCount continúa el recuento. Porque la gente ha sufrido el error de 49.7 días cuando la computadora estaba en hibernación la mayor parte del tiempo. Vea link text aquí para más información.
Creo que la pregunta original se refiere a si el * sistema * está suspendido o hibernado, no un hilo en particular. –
Point. Completamente perdido ese. –
Respuesta corta: Sí.
Respuesta larga: Lea las GetTickCount() docs: Es la transcurrido vez desde el inicio del sistema, e incluso la EM no sugeriría que el tiempo se detiene mientras el ordenador está hibernando ...
No, GetTickCount()
no incluye el tiempo que el sistema pasa durante la hibernación. Una prueba simple lo demuestra.
en Python:
import win32api
win32api.GetTickCount()
- do hibernar -
win32api.GetTickCount()
y podrás ver el resultado ...
plan incorrecto y no útil - este bit de pitón no tiene forma de permitirle hibernar entre las llamadas a GetTickCount –
Incorrecto aquí, recién probado – Evgenyt
Sí, GetTickCount Qué incluye suspender/hibernar tiempo .
En la siguiente secuencia de comandos de python llamo a la API de suspensión para esperar 40 segundos para darme la oportunidad de poner la computadora en modo de hibernación, imprimir la hora anterior y posterior, y la diferencia de conteo de ticks después.
import win32api import time print time.strftime("%H:%M:%S", time.localtime()) before = win32api.GetTickCount() print "sleep" win32api.Sleep(40000) print time.strftime("%H:%M:%S", time.localtime()) print str(win32api.GetTickCount()-before)
Salida:
17:44:08 sleep 17:51:30 442297
Si GetTickCount no incluye el tiempo durante hibernación sería mucho menor que el tiempo que hibernado para, pero coincide con el tiempo real transcurrido (7 minutos 22 segundos equivalen 442 segundos, es decir, "tics" de 442000 milisegundos).
Para cualquiera que busque la respuesta a la plataforma Windows CE, a partir de documentos:
http://msdn.microsoft.com/en-us/library/ms885645.aspx
se puede leer:
Para las configuraciones de la versión, esta función devuelve el número de milisegundos desde el dispositivo arrancó, excluyendo cualquier momento en que se suspendió el sistema . GetTickCount comienza en 0 en el arranque y luego cuenta desde allí.
- 1. Función GetTickCount
- 2. Equivalente a GetTickCount() en Linux
- 3. Depurador de Eclipse: salte o muestre solo el hilo suspendido
- 4. Django: ¿se extiende o incluye?
- 5. ¿Reanudar hilo suspendido en Delphi 2010?
- 6. hilo de Linux suspendido por señal en tiempo real cuando se ejecuta en eclipse
- 7. dispatch_source_cancel en un temporizador suspendido provoca EXC_BAD_INSTRUCTION
- 8. ¿Por qué querría comenzar un hilo "suspendido"?
- 9. Espacio de nombres de System.Data.OracleClient suspendido?
- 10. SimpleDateFormat lleva demasiado tiempo cuando la zona horaria se incluye
- 11. ¿Cuál es la diferencia entre clock(), gettickcount(), QueryPerformanceCounter() y QueryPerformanceFrequency()?
- 12. tiempo transcurrido en Qt
- 13. Compruebe si un subproceso de Win32 se está ejecutando o está en estado suspendido
- 14. Estado suspendido en el Monitor de actividad SQL
- 15. Consulta complejo SOLR que incluye NOT y O
- 16. Incluye Touch Events clientX/Y scrolling o no?
- 17. ¿Ya no se incluye con MinGW y/o MSYS?
- 18. dinámico incluye
- 19. ¿Request.Url.Host incluye el subdominio?
- 20. ¿Hay alguna forma de iniciar el proceso en estado suspendido?
- 21. Azulejos vs. JSP incluye
- 22. cx-freeze no incluye módulos incluso cuando se incluye específicamente
- 23. operador sizeof en tiempo de compilación o tiempo de ejecución
- 24. no incluye archivos necesarios en vim omnicompletion
- 25. Java incluye Javadoc privadas
- 26. Ant incluye externa .jar
- 27. Refactorización "incluye archivo infierno"
- 28. ¿Cómo se incluye TR1?
- 29. Rails incluye relaciones anidadas
- 30. C++ header circular incluye
Pregunta tonta, ¿qué ocurre cuando pruebas esto? Lo haría porque tengo curiosidad acerca de la respuesta también, pero no tengo a mano una máquina de Windows que se pueda suspender en este momento. –