Bufor pierścieniowy
Kolejka w stałym bloku pamięci, w której wskaźniki odczytu i zapisu gonią się po okręgu.
Bufor to zwykła tablica; gdy wskaźnik dojdzie do końca, wraca na początek. Bez alokacji, bez przesuwania danych, wstawianie i pobieranie w stałym czasie. Dlatego to domyślny wybór w firmware, gdzie przerwanie UART wrzuca znaki, a pętla główna odbiera je we własnym tempie.
Przy dokładnie jednym producencie i jednym konsumencie blokada nie jest potrzebna: przerwanie dotyka tylko indeksu zapisu, pętla tylko indeksu odczytu. Rozmiar to zwykle potęga dwójki, by zawinięcie było tanią maską bitową zamiast dzielenia. Zostaje odwieczna niejednoznaczność pełny–pusty — oba stany wyglądają jak równe wskaźniki — rozwiązywana poświęceniem jednego miejsca albo osobnym licznikiem. Ten sam pomysł napędza sterowniki sieciowe Linuksa, API audio i io_uring.