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








