Dormir milissegundos em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Python Sleep usando o método time.sleep()
  2. Python Sleep usando o método threading.Timer()
Dormir milissegundos em Python

Neste tutorial, veremos vários métodos para pausar ou suspender a execução de um programa por um determinado período de tempo em Python. Suponha que queremos pausar a execução do programa por alguns segundos para permitir que o usuário leia as instruções sobre a próxima etapa do programa. Precisamos de algum método para dizer ao programa para dormir por um número específico de segundos ou milissegundos. Também discutiremos um método para fazer o programa chamar uma função fornecida após um intervalo de tempo específico sem pausar ou suspender a execução do programa

Podemos usar os seguintes métodos para pausar ou suspender a execução do programa por um determinado período de tempo em Python.

Python Sleep usando o método time.sleep()

O método time.sleep(secs) pausa ou suspende a execução do thread de chamada pelo número de segundos fornecido no argumento secs. Portanto, precisamos chamar o método time.sleep() para fazer o programa hibernar por um tempo específico.

O código de exemplo a seguir demonstra como usar o método time.sleep() para fazer o programa hibernar por um determinado número de segundos.

import time

time.sleep(1.5)
print("1.5 seconds have passed")

Para fazer o programa pausar por milissegundos, precisaremos dividir a entrada por 1000, mostrado no código de exemplo abaixo:

import time

time.sleep(400 / 1000)
print("400 milliseconds have passed")

Python Sleep usando o método threading.Timer()

O método threading.Timer(interval, function, args, kwargs) espera o tempo igual a interval segundos e então chama a function com argumentos args e argumentos de palavra-chave kwargs se fornecidos.

Se quisermos que o programa espere por um tempo específico e então chame a função, o método threading.Timer() será útil. O código de exemplo a seguir demonstra como usar o método threading.Timer() para fazer o programa esperar por interval segundos antes de executar alguma tarefa.

from threading import Timer


def nextfunction():
    print("Next function is called!")


t = Timer(0.5, nextfunction)
t.start()
Nota
threading.Timer() não pausa a execução do programa, ele cria um encadeamento timer que chama a função após o interval fornecido ter passado.

Artigo relacionado - Python Time