Go ofron dy qasje për sigurimin e konkurrencës: channels ("ndaj kujtesën duke komunikuar") dhe paketën sync (mutexes/locks për mbrojtjen direkte të kujtesës së ndarë). Përkundër filozofisë së Go-it të përdorimit të parë të channels, primitiva sync shpesh janë zgjedhja më e thjeshtë dhe më efikase për mbrojtjen e gjendjes së ndarë.
sync.Mutex — mbroj gjendjen e ndarë me një bllokime
Counter {
mu sync.Mutex
count
}
Increment() {
c.mu.Lock()
c.mu.Unlock()
c.count++
}
