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.
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.
- Phase 12 stages
Trabajo en paralelo
Lanza hilos, reparte tareas con una cola y observa la primera carrera.
- Phase 23 stages
Sincronizar bien
Mutex, variables de condición y trabajadores que esperan sin consumir CPU.
- Phase 32 stages
Un pool usable
Tareas con resultado, errores propagados y apagado ordenado.
- Phase 41 stage
Rendimiento
Colas locales, robo de trabajo y medición de contención.