Função Python sleep () (com exemplos)

A função sleep () suspende (espera) 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().

A sleep()função suspende a execução do thread atual por um determinado número de segundos.

Exemplo 1: Python sleep ()

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

Veja como funciona este programa:

  • "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()usa 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 a 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. Então, o programa espera por 1 segundo. Novamente, a hora local atual é calculada e impressa. Esse processo continua.

Quando você executa o programa, a saída será algo como:

 14h10:50 14h10:51 14h10:52 14h10:53 14h10:54… 

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("", end="", flush=True) time.sleep(1) 

Para saber mais, visite relógio digital no shell Python.

Multithreading em Python

Antes de falar sobre sleep()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 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() 

Quando você executa o programa, a saída será algo como:

 Olá olá olá olá olá 

O programa acima tem dois threads t1 e t2. Esses threads são executados usando as instruções t1.start()e t2.start().

Observe que t1 e t2 são executados simultaneamente e você pode obter saídas diferentes.

Visite esta página para aprender mais sobre multithreading em Python.

time.sleep () em programas multithread

A sleep()função suspende a execução do thread atual por um determinado número de segundos.

No caso de programas single-threaded, sleep()suspende a execução da 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 possui dois threads. Usamos time.sleep(0.5)e time.sleep(0.75)para suspender a execução dessas duas threads por 0,5 segundos e 0,7 segundos, respectivamente.

Leitura recomendada: Python time.sleep () sleeps thread

Artigos interessantes...