Skip to content
Back to the catalog
Project thread-poolConcurrencyAdvancedBeta

Un pool de hilos

Colas, mutexes y condvars. Reparte trabajo entre hilos sin data races y aprende a medirlo de verdad.

Build it in your language

The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.

Guide language

The stage guides read in this language. Only languages this project is fully translated into show up here; the interface language does not change.

What this project is about

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.

Roadmap

8 stages across 4 phases. Every stage comes with its guide and its tests: you move on when they pass.

  1. Phase 12 stages

    Trabajo en paralelo

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

    1. 01Trabajadores y tareas
    2. 02La carrera de la cola
  2. Phase 23 stages

    Sincronizar bien

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

    1. 01Cola protegida
    2. 02Variable de condición
    3. 03Capacidad y backpressure
  3. Phase 32 stages

    Un pool usable

    Tareas con resultado, errores propagados y apagado ordenado.

    1. 01Resultados y errores
    2. 02Apagado ordenado
  4. Phase 41 stage

    Rendimiento

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

    1. 01Robo de trabajo y métricas

Before you start

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.