Multithreading em Python em 8 minutos: Explicação e Exemplo
Tabela de Conteúdos
Introdução ao Multithreading em Python
Neste artigo, vamos explorar o conceito de multithreading em Python. O multithreading permite a execução simultânea de várias tarefas em um programa, o que pode ajudar a melhorar o desempenho e a capacidade de resposta em determinadas situações.
Entendendo o Multithreading em Python
Antes de começarmos a implementar o multithreading em Python, é importante entender algumas peculiaridades do seu funcionamento. O Python utiliza um mecanismo chamado "GIL" (Global Interpreter Lock) que impede a execução real de múltiplas threads simultaneamente. Em vez disso, o Python utiliza pseudomultithreading, alternando entre as tarefas em momentos específicos.
Implementando o Multithreading em Python
Para utilizar o multithreading em Python, vamos importar o módulo threading
. Este é um módulo padrão do Python e não é necessário instalar nada adicional. Além disso, também iremos importar o módulo time
, que nos permitirá utilizar a função sleep
para criar algum tempo ocioso e exemplificar o funcionamento do multithreading.
Exemplo Simples de Multithreading
Vamos começar com um exemplo simples para entender o conceito de multithreading em Python. Vamos definir uma função chamada worker
, que será a nossa função de trabalho. Essa função imprimirá números sequenciais até que uma condição de parada seja atendida. Enquanto isso, no thread principal, vamos esperar pelo input do usuário.
import threading
import time
def worker():
done = False
counter = 0
while not done:
time.sleep(1)
counter += 1
print(counter)
input("Pressione enter para sair")
done = True