type RWMutex
RWMutex - это блокировщик взаимного исключения reader/writer. Блокировка может удерживаться произвольным количеством read процессов или одним writer. Нулевым значением для RWMutex является разблокированный мьютекс.
RWMutex нельзя копировать после первого использования.
Если горутина удерживает RWMutex для чтения, а другая горутина может вызвать Lock, то не следует ожидать, что горутина не сможет получить блокировку чтения до тех пор, пока не будет освобождена начальная блокировка чтения. В частности, это запрещает рекурсивную блокировку чтения. Это делается для того, чтобы блокировка в конечном счете стала доступной; заблокированный вызов Lock исключает возможность приобретения блокировки новым считывателям.
type RWMutex struct {
// содержит фильтруемые или неэкспортируемые поля
}