Что такое ring buffer?

Middle
199 просмотров
AFK Offer AI

Ring buffer (кольцевой буфер) — массив фиксированного размера с двумя указателями: head (чтение) и tail (запись). Когда tail дошёл до конца — возвращается в начало. Быстрый, без аллокаций, O(1) read/write. В Go нет встроенного, но легко написать: слайс + два индекса + модульная арифметика (idx % size). Используется: для логов (последние N записей), метрик, буферов сообщений. Для concurrent доступа нужна синхронизация — mutex или atomic.

Следующий вопрос

Как работает protobuf encoding?