Ringbuffert
En kö i ett fast minnesblock där skriv- och läspekaren jagar varandra runt i en cirkel.
Bufferten är en vanlig array; när en pekare når slutet börjar den om från början. Ingen allokering, ingen flytt av data, konstant tid för både in och ut. Det gör strukturen till standardvalet i firmware, där ett UART-avbrott lägger in tecken och huvudloopen plockar ut dem i sin egen takt.
Med exakt en producent och en konsument behövs inget lås: avbrottet rör bara skrivpekaren, loopen bara läspekaren. Storleken väljs gärna som en tvåpotens så att varvet blir en billig bitmask i stället för en division. Kvar finns den eviga frågan om tom kontra full — båda ser ut som att pekarna är lika — som löses med en offrad plats eller en separat räknare. Samma idé finns i Linux nätverksdrivrutiner, ljud-API:er och io_uring.