Léxico TI › Programación › Búfer circular

Búfer circular

Programación Svenska → Actualizado: 2026-11-02

Una cola en un bloque fijo de memoria donde los punteros de lectura y escritura se persiguen dando vueltas.

El búfer es un array normal; cuando un puntero llega al final, vuelve al principio. Sin reservas de memoria, sin mover datos, tiempo constante para entrar y salir. Por eso es la elección por defecto en firmware, donde una interrupción de la UART va metiendo caracteres y el bucle principal los saca a su ritmo.

Con exactamente un productor y un consumidor no hace falta ningún cerrojo: la interrupción solo toca el índice de escritura y el bucle solo el de lectura. El tamaño suele ser potencia de dos para que la vuelta sea una máscara de bits barata en lugar de una división. Queda la eterna ambigüedad entre lleno y vacío —en ambos casos los punteros coinciden—, que se resuelve sacrificando una posición o llevando un contador aparte. La misma idea mueve los controladores de red de Linux, las API de audio e io_uring.

← Volver al léxico