Funcția Python sleep () (cu exemple)

Funcția sleep () suspendă (așteaptă) execuția firului curent pentru un număr dat de secunde.

Python are un modul numit time, care oferă mai multe funcții utile pentru a gestiona sarcinile legate de timp. Una dintre funcțiile populare dintre ele este sleep().

sleep()Executie Funcția a firului suspendă curent pentru un anumit număr de secunde.

Exemplul 1: Python sleep ()

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

Iată cum funcționează acest program:

  • "Printed immediately" este tipărit
  • Suspendă (întârzieri) execuția timp de 2,4 secunde.
  • "Printed after 2.4 seconds" este tipărit.

După cum puteți vedea din exemplul de mai sus, sleep()ia ca argument un număr cu virgulă mobilă.

Înainte de Python 3.5 , timpul de suspendare efectiv poate fi mai mic decât argumentul specificat time()funcției.

De la Python 3.5 , timpul de suspendare va fi de cel puțin secundele specificate.

Exemplul 2: Python creează un ceas digital

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

În programul de mai sus, am calculat și tipărit ora locală curentă în interiorul buclei infinite while. Apoi, programul așteaptă 1 secundă. Din nou, ora locală curentă este calculată și tipărită. Acest proces continuă.

Când rulați programul, ieșirea va fi ceva de genul:

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

Iată o versiune mai bună ușor modificată a programului de mai sus.

  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) 

Pentru a afla mai multe, vizitați ceasul digital în shell Python.

Multithreading în Python

Înainte de a vorbi despre acestea sleep()în programe cu mai multe fire, să vorbim despre procese și fire.

Un program de calculator este o colecție de instrucțiuni. Un proces este executarea acestor instrucțiuni.

Un fir este un subset al procesului. Un proces poate avea unul sau mai multe fire.

Exemplul 3: Python multithreading

Toate programele de mai sus din acest articol sunt programe cu un singur fir. Iată un exemplu de program Python multithread.

  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() 

Când rulați programul, ieșirea va fi ceva de genul:

 Salut Salut Salut Salut Salut Salut 

Programul de mai sus are două fire t1 și t2. Aceste fire sunt rulate folosind t1.start()și t2.start()instrucțiuni.

Rețineți că, t1 și t2 rulează simultan și este posibil să obțineți rezultate diferite.

Accesați această pagină pentru a afla mai multe despre Multithreading în Python.

time.sleep () în programe multithread

sleep()Executie Funcția a firului suspendă curent pentru un anumit număr de secunde.

În cazul programelor cu un singur fir, sleep()suspendă execuția firului și a procesului. Cu toate acestea, funcția suspendă mai degrabă un fir decât întregul proces în programele cu mai multe fire.

Exemplul 4: sleep () într-un program multithread

 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()

Programul de mai sus are două fire. Am folosit time.sleep(0.5)și time.sleep(0.75)suspendat executarea acestor două fire pentru 0,5 secunde și respectiv 0,7 secunde.

Lectură recomandată: Python time.sleep () sleeps thread

Articole interesante...