12 из 140 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
Go · Concurrency
Когда горутина вызывает Lock() на sync.RWMutex в то время, как несколько читателей уже удерживают RLock(), каково поведение?
Lock()
sync.RWMutex
RLock()
Писатель блокируется до тех пор, пока все текущие читатели не вызовут RUnlock(), и новые читатели также блокируются
RUnlock()
Писатель сразу же захватывает блокировку, вытесняя всех текущих читателей
Писатель блокируется только если одновременно одну RLock() удерживает более одного читателя
Писатель продолжает работу параллельно с существующими читателями