IT-lexicon › Programmeren › Ringbuffer

Ringbuffer

Programmeren Svenska → Bijgewerkt: 2026-11-02

Een wachtrij in een vast geheugenblok waarin de lees- en schrijfwijzer elkaar in een cirkel achternazitten.

De buffer is niets meer dan een array; als een wijzer het einde bereikt, springt hij terug naar het begin. Geen allocatie, geen verschuiven van data, constante tijd erin en eruit. Daarom is het de standaardkeuze in firmware, waar een UART-interrupt tekens neerlegt en de hoofdlus ze in eigen tempo ophaalt.

Met precies één producent en één consument is geen lock nodig: de interrupt raakt alleen de schrijfindex aan, de lus alleen de leesindex. De grootte is meestal een macht van twee, zodat het omslaan een goedkoop bitmasker is in plaats van een deling. Wat overblijft is de eeuwige dubbelzinnigheid tussen vol en leeg — beide tonen gelijke wijzers — opgelost door een plek op te offeren of een aparte teller bij te houden. Hetzelfde idee drijft Linux-netwerkdrivers, audio-API's en io_uring aan.

← Terug naar het lexicon