„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Gehen Sie zur Zeit und ihren zwei Uhren

Gehen Sie zur Zeit und ihren zwei Uhren

Veröffentlicht am 18.11.2024
Durchsuche:232

Go time and its two clocks

Um den Zeitraffer in Go zu berechnen, können Sie
verwenden

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

Aber wissen Sie, dass das Zeitpaket in Go tatsächlich zwei Zeiten enthält und time.Since() tatsächlich nur die Verarbeitungszeit (monotone Uhr) misst, nicht die Echtzeit (Wanduhr)?

Zum Beispiel, wenn die Aufgabe ziemlich lang ist, über Nacht dauert und Ihr Computer in den Ruhezustand wechselt. Dann können Sie am Morgen vorbeikommen und sehen, dass die Dauer nur 4 Stunden beträgt, während insgesamt 10 Stunden vergangen sind.

Das Zeitpaket in Go besagt, dass

Betriebssysteme bieten sowohl eine „Wanduhr“, die Änderungen zur Taktsynchronisierung unterliegt, als auch eine „monotone Uhr“, bei der dies nicht der Fall ist. Als allgemeine Regel gilt, dass die Wanduhr zum Anzeigen der Zeit und die monotone Uhr zum Messen der Zeit dient.

Was Ihnen in unserem obigen Beispiel wirklich gesagt wird, ist, dass Ihr Programm 4 Stunden lang aktiv ausgeführt wurde, der Computer jedoch 6 Stunden im Ruhezustand war, sodass Sie insgesamt 10 Stunden gewartet haben. Wenn der Computer nicht geschlafen hätte, wäre es in 4 Stunden erledigt.

Was also tun, wenn Sie die Wandzeit messen möchten? Sie können die Funktion Round(0) verwenden. t = t.Round(0) entfernt den monotonen Takt in t.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/jingshao_chen_02a2352f476/go-time-and-its-two-clocks-3p0p?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3