Sobes.tech
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()