Sueño de Python ()
Sueño de Python()
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()
.
El sleep()
La 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 coma flotante como argumento.
Antes de Python 3.5 , el tiempo de suspensión real puede ser menor que el argumento especificado en time()
función.
Desde Python 3.5 , el tiempo de suspensión será de al menos 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 ciclo while infinito. Luego, el programa espera 1 segundo. De nuevo, 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 mejor versión 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("\r", end="", flush=True)
time.sleep(1)
Para obtener más información, visite el reloj digital en el shell de Python.
Multiproceso en Python
Antes de hablar de sleep()
en programas de subprocesos múltiples, hablemos de procesos y subprocesos.
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:subprocesamiento múltiple de Python
Todos los programas anteriores en este artículo son programas de subproceso único. Este es un ejemplo de un programa de Python multihilo.
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:
Hello Hello Hi Hello Hi Hi
El programa anterior tiene dos hilos t1 y t2 . Estos hilos se ejecutan usando t1.start()
y t2.start()
declaraciones.
Tenga en cuenta que, t1 y t2 ejecutar simultáneamente y es posible que obtenga un resultado diferente.
Visite esta página para obtener más información sobre subprocesos múltiples en Python.
time.sleep() en programas multiproceso
El sleep()
La función suspende la ejecución del subproceso actual durante un número determinado de segundos.
En el caso de programas de subproceso único, sleep()
suspende la ejecución del hilo 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 usado time.sleep(0.5)
y time.sleep(0.75)
para suspender la ejecución de estos dos subprocesos durante 0,5 segundos y 0,7 segundos respectivamente.
Lectura recomendada: Python time.sleep() duerme hilo
python