Junior — Middle
Quando e em que cenários é necessário aplicar multithreading em Python?
sobes.tech IA
Resposta da IA
A multitarefa em Python é útil quando precisa executar várias tarefas simultaneamente, especialmente se estiverem relacionadas com entrada/saída (I/O), como pedidos de rede, trabalho com ficheiros ou bases de dados. Devido ao bloqueio global do interpretador (GIL), a multitarefa em Python não é eficiente para tarefas que exigem cálculos intensivos — nesses casos, é melhor usar multiprocessamento.
Exemplos de cenários para multitarefa:
- Processar várias ligações de rede ao mesmo tempo.
- Leitura e escrita de ficheiros em paralelo.
- Executar tarefas de fundo que não bloqueiam o fluxo principal.
Exemplo de uso de threading:
import threading
import time
def worker(name):
print(f"Thread {name} começou a trabalhar")
time.sleep(2)
print(f"Thread {name} terminou")
threads = []
for i in range(3):
t = threading.Thread(target=worker, args=(f'Thread-{i}',))
threads.append(t)
t.start()
for t in threads:
t.join()