Un thread pool es un conjunto fijo de hilos de trabajo reutilizables que sacan tareas de una cola de trabajo compartida. Evita el coste de crear un hilo por tarea y limita el número de hilos concurrentes.
Por qué usar uno
Crear y destruir hilos es costoso (asignación de pila, configuración de planificación del SO), y la creación ilimitada de hilos agota la memoria y provoca thrashing por cambios de contexto. Un pool amortiza el coste de creación y acota la concurrencia.
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
