I denne opplæringen vil vi gå over Python tid.søvn () – metoden. I vår forrige tutorial, vi så på den tiden-modulen, som er standard verktøy bibliotek for å utføre ulike timing oppgaver.
Python tid.søvn () – metoden er brukt til å stanse gjennomføring av det aktuelle programmet/tråden for en gitt tidsperiode.
Det aktuelle programmet/tråden er egentlig ikke gjøre noe i denne perioden, så det «sovende» for at mengden av tid, før du gjenopptar fra sin nåværende tilstand.,
La oss ta en titt på hvordan vi kan bruke denne funksjonen.
Python tid.søvn () – Bruk
Denne funksjonen er en del av time
modulen derfor vi kaller det å bruke prikk-notasjon som tid.søvn(). Vi må importere tid modulen først.
import time
Nå, for å stoppe kjøring av programmet, vi trenger å angi antall sekunder som et argument.,
Output
Going to sleep for 5 secondsWoke up after 5 seconds
Hvis du prøver dette ut på din maskin, programmet vil stoppe for 5 sekunder mellom de to utganger, siden det er sengeplass for den tid.
Vi kan også angi antall sekunder som et flytende-punkt nummer, så vi kan sove for 0.001
sekunder (1 millisekund) eller 0.0000001
sekunder (1 mikrosekund).
Dette vil gjøre forsinkelsen så presis som mulig, innenfor floating-point og klokke med presisjon grenser.,
Output
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
for Å måle nøyaktig tid for søvn, kan vi bruke time.time()
metode for å starte tidtakeren. Forskjellen mellom start-verdi og end verdien av timer vil være vår kjøring.
La oss teste ut våre faktiske sover tid i ovennevnte program.
Output
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
Her, den tid er ikke akkurat 2 millisekunder, som du kan se. Det er om 2.071
millisekunder, noe som er litt større enn det.,
Dette er på grunn av noen forsinkelser i fordeling av ressurser, prosess planlegging, etc fra Operativsystemet, noe som kan føre til en liten forsinkelse.
omfanget av denne forsinkelsen vil variere, siden du ikke vet nøyaktig tilstand av Operativsystemet på en bestemt forekomst av tid.
Variabel tid for tid.søvn()
Vi kan gi en variabel time.sleep()
, hvis du ønsker en annen forsinkelsen for noen grunn.,
import timedelays = for delay in delays: print('Sleeping for', delay, 'seconds') time.sleep(delay)
Output
Sleeping for 1 secondsSleeping for 1.5 secondsSleeping for 2 seconds
Nå som vi har dekket ved hjelp av time.sleep()
for programmet vårt, kan vi gjøre det samme for tråder også.
ved Hjelp av Python tid.søvn() på en Tråd
Dette er en nyttig funksjon i sammenheng med multi-threading, som flere tråder kan være nødvendig å vente for en bestemt ressurs for å bli frigjort.
nedenfor kodebit viser hvordan vi kan lage flere tråder vente og skrive ut utgangene, ved hjelp av Python time.sleep()
.,
Output
Starting Worker Thread....Worker Thread 0Starting Waiter Thread....Waiter thread 10Main thread finished!Worker Thread 1Waiter thread 11Worker Thread 2Waiter thread 12Worker Thread 3Waiter thread 13Waiter thread 14
Her, gjennomføring av main-tråden (program) er uavhengig av gjennomføringen av de to tråder. Så, er vår viktigste programmet ferdig først, før du blir etterfulgt av Worker
og Waiter
tråder.
Konklusjon
I denne artikkelen, vi lærte om å bruke Python time.sleep()
funksjon på ulike måter.