Go సమ్మతి సంరక్షణకు రెండు విధానాలను అందిస్తుంది: channels ("ఇంటర్నెట్ ద్వారా మెమరీ షేర్ చేయండి") మరియు sync package (శేయర్ చేసిన మెమరీని నేరుగా రక్షించడానికి mutexes/locks). Go యొక్క channel-ఫర్స్ట్ ఫిలోసఫీ ఉన్నప్పటికీ, sync primitives సాధారణంగా శేయర్ చేసిన స్థితిని రక్షించడానికి సరళమైన, మరింత సమర్థవంతమైన ఎంపిక.
sync.Mutex — మ్యూటెక్స్ తో శేయర్ చేసిన స్థితిని రక్షించండి
Counter {
mu sync.Mutex
count
}
Increment() {
c.mu.Lock()
c.mu.Unlock()
c.count++
}
