v tomto tutoriálu budeme procházet časem Pythonu.metoda spánku (). V našem předchozím tutoriálu jsme se podívali na časový modul, který je výchozí knihovnou nástrojů pro provádění různých časových úkolů.
čas Pythonu.metoda sleep () se používá k zastavení provádění aktuálního programu / vlákna po určitou dobu.
aktuální program / vlákno v tomto časovém období v podstatě nedělá nic, takže“ spí “ po tuto dobu, než se obnoví ze svého současného stavu.,
podívejme se, jak tuto funkci můžeme použít.
Python time.sleep () Usage
Tato funkce je součástí modulu time
, proto jej nazýváme pomocí bodového zápisu jako time.spánek(). Nejprve musíme importovat časový modul.
import time
Nyní, aby se zastavil provádění programu, musíme zadat počet sekund jako argument.,
Výstupní
Going to sleep for 5 secondsWoke up after 5 seconds
Pokud si to vyzkoušet na vašem počítači, váš program se zastaví na 5 sekund mezi dva výstupy, protože je to spí na tu dobu.
můžeme také určit počet sekund, jako číslo s plovoucí desetinnou čárkou, takže můžeme spát 0.001
sekund (1 milisekunda), nebo dokonce 0.0000001
sekund (1 mikrosekundu).
to způsobí, že zpoždění bude co nejpřesnější v mezích přesnosti s plovoucí desetinnou čárkou a hodinami.,
výstup
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
pro měření přesného času spánku můžeme použít metodu time.time()
pro spuštění časovače. Rozdíl mezi počáteční hodnotou a koncovou hodnotou časovače bude náš čas provedení.
pojďme vyzkoušet naši skutečnou dobu spánku ve výše uvedeném programu.
výstup
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
zde není čas přesně 2 milisekundy, jak vidíte. Jedná se o2.071
milisekundy, což je o něco větší než to.,
to je způsobeno určitým zpožděním při přidělování zdrojů, plánování procesů atd. z operačního systému, což může způsobit mírné zpoždění.
rozsah tohoto zpoždění se bude lišit, protože neznáte přesný stav operačního systému v konkrétní instanci času.
variabilní časové zpoždění pro čas.spánek ()
můžeme předat proměnnou time.sleep()
, pokud z nějakého důvodu chcete jiné zpoždění.,
import timedelays = for delay in delays: print('Sleeping for', delay, 'seconds') time.sleep(delay)
Výstupní
Sleeping for 1 secondsSleeping for 1.5 secondsSleeping for 2 seconds
Teď, když jsme se vztahuje pomocí time.sleep()
pro náš program, můžeme udělat totéž pro vlákna také.
pomocí Python času.spánek () na vlákně
to je užitečná funkce v souvislosti s multi-threading, protože více vláken může muset počkat na uvolnění konkrétního zdroje.
níže uvedený úryvek ukazuje, jak můžeme provést více vláken čekat a tisknout výstupy pomocí Pythonu time.sleep()
.,
výstup
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
zde je provedení hlavního vlákna (programu) nezávislé na provedení obou vláken. Takže náš hlavní program skončil nejprve, než následovalWorker
aWaiter
vlákna.
závěr
v tomto článku jsme se dozvěděli o použití funkce Python time.sleep()
různými způsoby.