Sobes.tech
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
}