АП
хорошо спросить - чем Mutex от RWMutex отличается
Size: a a a
АП
VM
DP
АП
DP
АП
АП
DP
АП
АП
RS
RLock
если есть Lock
? 😅АП
RLock
если есть Lock
? 😅АП
// я могу смело использовать RLock() для счетчика, так как он не меняет данные
func count() {
rw.RLock() // <-- заметьте букву R в RLock (read-lock)
defer rw.RUnlock() // <-- заметьте букву R в RUnlock()
return len(sharedState)
}
// Но я должен использовать Lock() для set(), который меняет данные
func set(key string, value string) {
rw.Lock() // <-- заметьте, тут мы берем "обычный" Lock (write-lock)
defer rw.Unlock() // <-- а тут Unlock(), без R
sharedState[key] = value // <-- изменяет состояние(данные)
}
АП
RS
shared & exlusive
лучше усваивается чем read & write
shared = много
exclusive = только один
DP
АП
АП
shared & exlusive
лучше усваивается чем read & write
shared = много
exclusive = только один
RS