Función Python sleep () (con ejemplos)

La función sleep () suspende (espera) la ejecución del hilo actual durante un número determinado de segundos.

Python tiene un módulo llamado tiempo que proporciona varias funciones útiles para manejar tareas relacionadas con el tiempo. Una de las funciones populares entre ellos es sleep().

La sleep()función suspende la ejecución del hilo actual durante un número determinado de segundos.

Ejemplo 1: Python sleep ()

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

Así es como funciona este programa:

  • "Printed immediately" está impreso
  • Suspende (retrasa) la ejecución durante 2,4 segundos.
  • "Printed after 2.4 seconds" está impreso.

Como puede ver en el ejemplo anterior, sleep()toma un número de punto flotante como argumento.

Antes de Python 3.5 , el tiempo de suspensión real puede ser menor que el argumento especificado para la time()función.

Desde Python 3.5 , el tiempo de suspensión será al menos de los segundos especificados.

Ejemplo 2: Python crea un reloj digital

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

En el programa anterior, calculamos e imprimimos la hora local actual dentro del bucle infinito while. Luego, el programa espera 1 segundo. Nuevamente, se calcula e imprime la hora local actual. Este proceso continúa.

Cuando ejecute el programa, la salida será algo como:

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

Aquí hay una versión mejor ligeramente modificada del programa anterior.

  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) 

Para obtener más información, visite reloj digital en el shell de Python.

Multithreading en Python

Antes de hablar de sleep()programas multiproceso, hablemos de procesos e hilos.

Un programa de computadora es una colección de instrucciones. Un proceso es la ejecución de esas instrucciones.

Un hilo es un subconjunto del proceso. Un proceso puede tener uno o más subprocesos.

Ejemplo 3: multiproceso de Python

Todos los programas anteriores en este artículo son programas de un solo subproceso. Aquí hay un ejemplo de un programa de Python multiproceso.

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

Cuando ejecute el programa, la salida será algo como:

 Hola hola hola hola hola hola 

El programa anterior tiene dos hilos t1 y t2. Estos hilos se ejecutan mediante declaraciones t1.start()y t2.start().

Tenga en cuenta que t1 y t2 se ejecutan simultáneamente y es posible que obtenga una salida diferente.

Visite esta página para obtener más información sobre el subproceso múltiple en Python.

time.sleep () en programas multiproceso

La sleep()función suspende la ejecución del hilo actual durante un número determinado de segundos.

En el caso de programas de un solo subproceso, sleep()suspende la ejecución del subproceso y el proceso. Sin embargo, la función suspende un subproceso en lugar de todo el proceso en programas multiproceso.

Ejemplo 4: sleep () en un programa multiproceso

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

El programa anterior tiene dos hilos. Hemos utilizado time.sleep(0.5)y time.sleep(0.75)para suspender la ejecución de estos dos hilos durante 0,5 segundos y 0,7 segundos respectivamente.

Lectura recomendada: Python time.sleep () sleeps thread

Articulos interesantes...