Sobes.tech
Junior — Middle

O que é um pool de threads e em que casos é aconselhável usá-lo?

sobes.tech IA

Resposta da IA

Um grupo de threads é um conjunto de threads pré-criados que são reutilizados para executar tarefas. Em vez de criar um novo thread para cada tarefa, um thread livre do grupo é utilizado.

Vantagens:

  • Redução dos custos de criação e destruição de threads.
  • Controle do número máximo de threads a trabalhar simultaneamente.

É aconselhável usar um grupo de threads quando:

  • É necessário executar muitas tarefas curtas em paralelo.
  • É preciso limitar o número de threads a trabalhar ao mesmo tempo.

Exemplo em Python com ThreadPoolExecutor:

from concurrent.futures import ThreadPoolExecutor
import time

def task(n):
    time.sleep(1)
    return n * 2

with ThreadPoolExecutor(max_workers=3) as executor:
    results = executor.map(task, range(5))
    for r in results:
        print(r)

Aqui, um grupo de 3 threads é criado para executar 5 tarefas.