Funkce Python sleep () (s příklady)

Funkce sleep () pozastaví (čeká) provádění aktuálního vlákna na daný počet sekund.

Python má modul s názvem čas, který poskytuje několik užitečných funkcí pro zpracování úkolů souvisejících s časem. Jednou z populárních funkcí mezi nimi je sleep().

Na sleep()funkci pozastaví výkon aktuální vlákno pro daný počet sekund.

Příklad 1: Python sleep ()

  import time print("Printed immediately.") time.sleep(2.4) print("Printed after 2.4 seconds.") 

Tento program funguje takto:

  • "Printed immediately" je vytištěn
  • Pozastaví (zpožďuje) provádění na 2,4 sekundy.
  • "Printed after 2.4 seconds" je vytištěn.

Jak vidíte z výše uvedeného příkladu, sleep()bere jako argument číslo s plovoucí desetinnou čárkou.

Před Pythonem 3.5 může být skutečný čas pozastavení menší než argument zadaný pro time()funkci.

Od Pythonu 3.5 bude doba pozastavení stanovena alespoň na sekundy.

Příklad 2: Python vytvoří digitální hodiny

 import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1) 

Ve výše uvedeném programu jsme vypočítali a vytiskli aktuální místní čas uvnitř nekonečné smyčky while. Poté program čeká 1 sekundu. Aktuální místní čas je opět vypočítán a vytištěn. Tento proces pokračuje.

Když spustíte program, výstup bude něco jako:

 14:10:50 odpoledne 14:10:51 odpoledne 14:10:52 odpoledne 14:10:53 odpoledne 14:10:54 odpoledne… 

Zde je mírně upravená lepší verze výše uvedeného programu.

  import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("", end="", flush=True) time.sleep(1) 

Chcete-li se dozvědět více, navštivte digitální hodiny v prostředí Pythonu.

Vícevláknové zpracování v Pythonu

Než sleep()začneme hovořit o vícevláknových programech, promluvme si o procesech a vláknech.

Počítačový program je soubor pokynů. Proces je provádění těchto pokynů.

Vlákno je podmnožinou procesu. Proces může mít jedno nebo více vláken.

Příklad 3: Vícevláknové zpracování v Pythonu

Všechny programy uvedené v tomto článku jsou programy s jedním podprocesem. Zde je příklad vícevláknového programu Python.

  import threading def print_hello_three_times(): for i in range(3): print("Hello") def print_hi_three_times(): for i in range(3): print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start() 

Když spustíte program, výstup bude něco jako:

 Ahoj Ahoj Ahoj Ahoj Ahoj Ahoj 

Výše uvedený program má dvě vlákna t1 a t2. Tato vlákna se spouštějí pomocí příkazů t1.start()a t2.start().

Všimněte si, že t1 a t2 běží souběžně a můžete získat jiný výstup.

Na této stránce najdete další informace o multithreadingu v Pythonu.

time.sleep () ve vícevláknových programech

Na sleep()funkci pozastaví výkon aktuální vlákno pro daný počet sekund.

V případě programů s jedním sleep()vláknem pozastaví provádění vlákna a procesu. Funkce však pozastavuje vlákno spíše než celý proces ve vícevláknových programech.

Příklad 4: sleep () ve vícevláknovém programu

 import threading import time def print_hello(): for i in range(4): time.sleep(0.5) print("Hello") def print_hi(): for i in range(4): time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

Výše uvedený program má dvě vlákna. Použili jsme time.sleep(0.5)a time.sleep(0.75)pozastavili provádění těchto dvou vláken na 0,5 sekundy, respektive 0,7 sekundy.

Doporučené čtení: Python time.sleep () sleeps thread

Zajímavé články...