Junior — Middle
Pode explicar o que é um pool de threads e por que é usado na programação multithread?
sobes.tech IA
Resposta da IA
O grupo de threads é um conjunto de threads pré-criados que estão à espera de tarefas para executar. Em vez de criar um novo thread para cada tarefa, o programa pega um thread livre do grupo, executa a tarefa e devolve o thread ao grupo.
Para que serve isto:
- Redução dos custos na criação e destruição de threads.
- Gestão do número de threads a trabalhar simultaneamente, para não criar demasiados e sobrecarregar o sistema.
- Aumento do desempenho através da reutilização de threads.
Exemplo em Swift usando OperationQueue:
let queue = OperationQueue()
queue.maxConcurrentOperationCount = 4 // tamanho do grupo
queue.addOperation {
// código da tarefa
}