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.