Saltar al contenido
Volver al catálogo
Proyecto thread-poolConcurrenciaAvanzadoPróximamente

Construye tu propio pool de hilos

Construye un pool de hilos desde cero. Coordina colas, mutexes y variables de condición para distribuir trabajo de forma segura y medir su rendimiento.

Constrúyelo en tu lenguaje

El tester trata tu programa como una caja negra: sirve cualquier lenguaje. Estos son los más cómodos para este proyecto.

Idioma del temario

Las guías de las etapas se leen en este idioma. Solo aparecen los idiomas en los que este proyecto ya está traducido completo; el idioma de la interfaz no cambia.

De qué trata este proyecto

Proyecto en preparación: estamos completando y verificando el recorrido de implementación y sus pruebas. Las capacidades descritas son el objetivo del proyecto; todavía no está habilitado para comenzar.

La concurrencia se aprende mal leyendo: hay que verla fallar. Este reto está diseñado para que la veas fallar en un entorno controlado y aprendas a arreglarla con las herramientas correctas.

Construirás un pool de hilos reutilizable, desde la versión ingenua con un mutex hasta una con robo de trabajo, apagado ordenado y propagación de errores. Y medirás cada versión, porque en concurrencia la intuición miente.

Hoja de ruta

8 etapas repartidas en 4 fases. Cada etapa trae su guía y sus tests: avanzas cuando pasan.

  1. Fase 12 etapas

    Trabajo en paralelo

    Lanza hilos, reparte tareas con una cola y observa la primera carrera.

  2. Fase 23 etapas

    Sincronizar bien

    Mutex, variables de condición y trabajadores que esperan sin consumir CPU.

  3. Fase 32 etapas

    Un pool usable

    Tareas con resultado, errores propagados y apagado ordenado.

  4. Fase 41 etapa

    Rendimiento

    Colas locales, robo de trabajo y medición de contención.

Antes de empezar

Una librería de pool de hilos lista para usar: cola de tareas protegida por mutex y variable de condición, número configurable de trabajadores, envío de tareas con resultado, apagado ordenado sin perder trabajo, propagación de pánicos o errores y una variante con colas locales y robo de trabajo.