Go nudi dva pristupa konkurentnoj sigurnosti: channels ("dijeljenje memorije komunikacijom") i sync paket (muteksi/brava za zaštitu dijeljene memorije izravno). Unatoč Go-ovoj filozofiji kanala u prvi plan, sync primitivci su često jednostavniji i učinkovitiji izbor za zaštitu dijeljenog stanja.
sync.Mutex — zaštita dijeljenog stanja s bravom
Counter {
mu sync.Mutex
count
}
Increment() {
c.mu.Lock()
c.mu.Unlock()
c.count++
}
