Llevando el modelo de concurrencia de Go a C con pthreads

Go-Flavored Concurrency in C

Llevando el modelo de concurrencia de Go a C con pthreads

Anton Zhiyanov explora hasta dónde se puede replicar el modelo de concurrencia de Go usando solo pthreads en C. Lo hace mientras desarrolla Solod, un subconjunto estricto de Go que se traduce a C sin runtime ni recolector de basura. El artículo detalla la implementación de primitivas como Mutex, Cond, Atomics, un pool de hilos y canales, y analiza el coste de rendimiento frente a las goroutines. Concluye que, aunque los hilos del sistema operativo no igualan la eficiencia de las goroutines, se puede lograr mucho siendo honesto sobre las compensaciones.

Al final, llegué a la conclusión de que se puede hacer bastante con pthreads, siempre que seas honesto sobre las compensaciones.

Más de este día

2026-07-13