RWMutex vs Mutex — в чём разница?

Middle
1.8k просмотров
AFK Offer AI

sync.Mutex — эксклюзивная блокировка, один владелец. sync.RWMutex — разделяемая: множество читателей (RLock) или один писатель (Lock). Используй RWMutex когда чтений значительно больше записей — читатели не блокируют друг друга. Если записей много — RWMutex может быть медленнее обычного Mutex из-за накладных расходов. Важно: RLock внутри Lock = deadlock. Writer ждёт пока все reader-ы отпустят RLock, новые reader-ы ждут writer-а (writer priority), чтобы избежать starvation.

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

Как работает HTTP запрос?