"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 시간을 내어 두 개의 시계를 확인하세요.

시간을 내어 두 개의 시계를 확인하세요.

2024년 11월 18일에 게시됨
검색:789

Go time and its two clocks

Go에서 경과 시간을 계산하려면 다음을 사용할 수 있습니다.

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

하지만 Go의 시간 패키지에는 실제로 두 개의 시간이 포함되어 있고 time.Since()는 실제로 실시간(벽시계)이 아닌 처리 시간(단조 시계)만 측정한다는 것을 알고 계십니까?

예를 들어 작업이 꽤 길고 밤새도록 진행되어 컴퓨터가 절전 모드로 전환된 경우입니다. 그러다가 아침에 오시면 총 10시간이 지나서 4시간만 지속되는 것을 보실 수 있습니다.

Go의 시간 패키지에는

운영 체제는 시계 동기화를 위해 변경될 수 있는 "벽시계"와 그렇지 않은 "단조 시계"를 모두 제공합니다. 일반적인 규칙은 벽시계는 시간을 알려주기 위한 것이고 단조로운 시계는 시간을 측정하기 위한 것입니다.

위의 예에서 실제로 알 수 있는 것은 프로그램이 4시간 동안 활발하게 실행되었지만 컴퓨터는 6시간 동안 절전 모드이므로 총 10시간을 기다렸다는 것입니다. 컴퓨터가 잠들지 않았다면 4시간 안에 완료되었을 것입니다.

그럼 월타임을 측정하고 싶다면 어떻게 해야 할까요? Round(0) 함수를 사용할 수 있습니다. t = t.Round(0)는 t.

에서 단조 시계를 제거합니다.
릴리스 선언문 이 글은 https://dev.to/jingshao_chen_02a2352f476/go-time-and-its-two-clocks-3p0p?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3