Python dormir()
Python sleep()
A função sleep() suspende (aguarda) a execução do thread atual por um determinado número de segundos.
Python tem um módulo chamado time que fornece várias funções úteis para lidar com tarefas relacionadas ao tempo. Uma das funções populares entre eles é
sleep()
. O
sleep()
A função suspende a execução do encadeamento atual por um determinado número de segundos. Exemplo 1:sono do Python()
import time
print("Printed immediately.")
time.sleep(2.4)
print("Printed after 2.4 seconds.")
Veja como este programa funciona:
"Printed immediately"
é impresso- Suspende (atrasa) a execução por 2,4 segundos.
"Printed after 2.4 seconds"
é impresso.
Como você pode ver no exemplo acima,
sleep()
recebe um número de ponto flutuante como argumento. Antes do Python 3.5 , o tempo de suspensão real pode ser menor que o argumento especificado para o
time()
função. Desde o Python 3.5 , o tempo de suspensão será de pelo menos os segundos especificados.
Exemplo 2:Python cria um relógio digital
import time
while True:
localtime = time.localtime()
result = time.strftime("%I:%M:%S %p", localtime)
print(result)
time.sleep(1)
No programa acima, calculamos e imprimimos a hora local atual dentro do loop while infinito. Em seguida, o programa aguarda 1 segundo. Novamente, a hora local atual é calculada e impressa. Este processo continua.
Ao executar o programa, a saída será algo como:
02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM ... .. ...
Aqui está uma versão melhorada ligeiramente modificada do programa acima.
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 saber mais, visite relógio digital no shell do Python.
Multithreading em Python
Antes de falar sobre
sleep()
em programas multithread, vamos falar sobre processos e threads. Um programa de computador é uma coleção de instruções. Um processo é a execução dessas instruções.
Um thread é um subconjunto do processo. Um processo pode ter um ou mais threads.
Exemplo 3:multithreading do Python
Todos os programas acima neste artigo são programas de thread único. Aqui está um exemplo de um programa 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()
Ao executar o programa, a saída será algo como:
Hello Hello Hi Hello Hi Hi
O programa acima tem duas threads t1 e t2 . Esses threads são executados usando
t1.start()
e t2.start()
declarações. Observe que, t1 e t2 executados simultaneamente e você pode obter resultados diferentes.
Visite esta página para saber mais sobre Multithreading em Python.
time.sleep() em programas multithread
O
sleep()
A função suspende a execução do thread atual por um determinado número de segundos. No caso de programas de thread único,
sleep()
suspende a execução do thread e do processo. No entanto, a função suspende um thread em vez de todo o processo em programas multithread. Exemplo 4:sleep() em um programa 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()
O programa acima tem dois threads. Usamos
time.sleep(0.5)
e time.sleep(0.75)
para suspender a execução desses dois encadeamentos por 0,5 segundos e 0,7 segundos, respectivamente. Leitura recomendada: Python time.sleep() dorme thread
python