Go ponuja dva pristopa k varnosti sočasnosti: kanali ("souporaba pomnilnika z komunikacijo") in paket sync (mutex-i/zaklj ključavnice za neposredno zaščito souporabe pomnilnika). Kljub Gove filozofiji kanaliziacije so sync primitivi pogosto preprostejša in bolj učinkovita izbira za zaščito skupne stanja.
sync.Mutex — zaščitite skupno stanje s ključavnico
Counter {
mu sync.Mutex
count
}
Increment() {
c.mu.Lock()
c.mu.Unlock()
c.count++
}
