i denne vejledning går vi over Python-tiden.søvn () metode. I vores tidligere tutorial kiggede vi på time module, som er standardværktøjsbiblioteket til udførelse af forskellige timingopgaver.
Python tid.sleep () metode bruges til at standse udførelsen af det aktuelle program/tråd for en given mængde tid.
det aktuelle program / tråd gør i det væsentlige intet i denne tidsperiode, så det “sover” i den tid, før det genoptages fra dets nuværende tilstand.,
lad os se på, hvordan vi kan bruge denne funktion.
Python tid.sleep () Usage
denne funktion er en del af time
modul derfor kalder vi det ved hjælp af dot notationen som tid.sove(). Vi skal importere tidsmodulet først.
import time
nu skal vi angive antallet af sekunder som argument for at standse udførelsen af programmet.,
Output
Going to sleep for 5 secondsWoke up after 5 seconds
Hvis du prøver dette på din maskine, stopper dit program i 5 sekunder mellem de to udgange, da det sover i den tid.
Vi kan også angive antallet af sekunder, som en flydende komma-tal, så vi kan sove 0.001
sekunder (1 millisekund) eller endog 0.0000001
sekunder (1 mikrosekund).
Dette vil gøre forsinkelsen så præcis som muligt inden for flydende punkt-og urpræcisionsgrænserne.,
Output
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
til At måle den nøjagtige tid for at sove, kan vi bruge time.time()
metode til at starte en timer. Forskellen mellem startværdien og slutværdien af timeren vil være vores eksekveringstid.
lad os teste vores faktiske sovetid i ovenstående program.
Output
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
Her er tiden ikke nøjagtigt 2 millisekunder, som du kan se. Det handler om 2.071
millisekunder, hvilket er lidt større end det.,
dette skyldes nogle forsinkelser i tildelingen af ressourcer, procesplanlægning osv.fra operativsystemet, hvilket kan forårsage en lille forsinkelse.omfanget af denne forsinkelse vil variere, da du ikke kender operativsystemets nøjagtige tilstand på et bestemt tidspunkt.
variabel tidsforsinkelse for tid.sleep ()
Vi kan videregive en variabel til time.sleep()
, hvis du vil have en anden forsinkelse af en eller anden grund.,
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
Nu da vi har dækket ved hjælp af time.sleep()
for at bruge vores program, vi kan gøre det samme for tråde også.
ved hjælp af Python tid.sleep () på en tråd
Dette er en nyttig funktion i forbindelse med multi-threading, da flere tråde muligvis skal vente på, at en bestemt ressource frigøres.nedenstående uddrag viser, hvordan vi kan få flere tråde til at vente og udskrive udgange ved hjælp af 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 er udførelsen af hovedtråden (program) uafhængig af udførelsen af de to tråde. Så vores hovedprogram sluttede først, før de blev efterfulgt afWorker
ogWaiter
tråde.
konklusion
i denne artikel lærte vi om at bruge Pythontime.sleep()
funktionen på forskellige måder.