A Go két megközelítést kínál az egyidejűség biztonsága érdekében: csatornákat ("memória megosztása kommunikációval") és a sync csomag (mutex/zárakat az megosztott memória közvetlen védelméhez). A Go csatorna-első filozófiája ellenére a sync primitívek gyakran az egyszerűbb, hatékonyabb választás a megosztott állapot védelméhez.
sync.Mutex — megosztott állapot védelme zárral
Counter {
mu sync.Mutex
count
}
Increment() {
c.mu.Lock()
c.mu.Unlock()
c.count++
}
