Как работает sync.RWMutex на низком уровне?

Senior
73 просмотров
AFK Offer AI

RWMutex содержит обычный Mutex, семафоры для читателей и писателей, и счётчики. Читатели инкрементят счётчик атомарно. Когда приходит писатель, он вычитает rwmutexMaxReaders из счётчика, делая его отрицательным — новые читатели блокируются. Писатель ждёт пока существующие читатели закончат, потом берёт лок.

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

Что такое retry budget?