"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Pasa el tiempo y sus dos relojes.

Pasa el tiempo y sus dos relojes.

Publicado el 2024-11-18
Navegar:247

Go time and its two clocks

Para calcular el lapso de tiempo en Go, puedes usar

start := time.Now()
// long time consuming task
duration := time.Since(start)

Pero ¿sabías que el paquete de tiempo en Go en realidad tiene dos tiempos, y time.Since() en realidad mide solo el tiempo de procesamiento (reloj monótono), no el tiempo real (reloj de pared)?

Por ejemplo, si la tarea es bastante larga, dura toda la noche y tu computadora entra en modo de suspensión. Luego, en la mañana, podrás venir y ver que la duración duró solo 4 horas, mientras que en total habían pasado 10 horas.

El paquete de tiempo en Go indica que

Los sistemas operativos proporcionan tanto un “reloj de pared”, que está sujeto a cambios para la sincronización del reloj, como un “reloj monótono”, que no lo está. La regla general es que el reloj de pared sirve para dar la hora y el reloj monótono es para medir el tiempo.

Lo que realmente le dice en nuestro ejemplo anterior es que su programa se ejecutó activamente durante 4 horas, pero la computadora duerme 6 horas, por lo que en total esperó 10 horas. Si la computadora no hubiera dormido, estaría listo en 4 horas.

Entonces, ¿qué hacer si quieres medir el tiempo en la pared? Puede utilizar la función Ronda(0). t = t.Round(0) eliminará el reloj monótono en t.

Declaración de liberación Este artículo se reproduce en: https://dev.to/jingshao_chen_02a2352f476/go-time-and-its-two-clocks-3p0p?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3