Iniciar um tópico em Python
Este tutorial irá apresentar o módulo threading
para criar e iniciar um thread em Python.
Definição de Tópico
Um thread é um conjunto de operações que precisam ser executadas. A execução de threads significa que o programa terá duas ou mais coisas em execução ao mesmo tempo. Um thread só pode ser executado em um núcleo da CPU. Threading é sobre como lidamos com os threads em um núcleo da CPU.
Implementação de Thread em Python
Python usa o módulo threading
para implementar threads em programas. Você pode criar uma instância Thread
e então chamá-la para iniciar um thread separado.
Ao criar uma instância Thread
, você passa uma função e uma lista de argumentos para essa função. Neste caso, você está dizendo ao Thread
para executar a função thread_function()
e passar 1 como um argumento.
O thread_function()
registra algumas mensagens e dorme por dois segundos.
# python 3.x
from threading import Thread
import time
import logging
def thread_function(name):
logging.info("Thread %s: starting", name)
time.sleep(2)
logging.info("Thread %s: finishing", name)
if __name__ == "__main__":
format = "%(asctime)s: %(message)s"
logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S")
thread = Thread(target=thread_function, args=(1,))
thread.start()
logging.info("Exiting")
Resultado:
10:23:58: Thread 1: starting
10:23:58: Exiting
10:24:00: Thread 1: finishing
Visualização de segmentação
O fluxo do programa é apresentado a seguir. Depois de chamar start()
, ele dispara thread_function()
e é executado em uma thread separada. O programa principal também é executado em paralelo como outro thread.