Cola sin bloqueo en C++: Una inmersión profunda en atómicos y ordenación de memoria

2025-05-30

Este artículo se adentra en las complejidades de los atómicos y el orden de memoria en C++, culminando en una implementación básica de una cola sin bloqueo. El autor explica meticulosamente la indivisibilidad de las operaciones atómicas y el impacto de los diferentes modelos de orden de memoria (relaxed, release-acquire, seq_cst) en la programación concurrente, utilizando ejemplos ilustrativos para demostrar cómo evitan las carreras de datos. Luego se intenta una cola sin bloqueo basada en una lista enlazada, detallando las operaciones de enqueue y dequeue. Sin embargo, el autor reconoce la falta de completitud de la implementación, específicamente su falla en abordar el problema ABA. El artículo es una guía completa adecuada para lectores con alguna experiencia en programación concurrente en C++.

Desarrollo Cola sin bloqueo