Junior — Middle
Оё шохи мухталиф метавонанд ҳамзамон бо як суроғаи хотира кор кунанд?
sobes.tech AI
Ҷавоб аз AI
Бале, дар Go, гуногун (горутини) гуногун метавонанд ҳамзамон ба як суроғаи хотира дастрасӣ пайдо кунанд. Аммо, агар ин дастрасӣ синхрон нашуда бошад, метавонад ба шароити рақобат (race conditions) оварда расонад. Барои муоширати бехатари бо хотираи умумӣ, механизмҳои синхронгардонии монанди mutex (sync.Mutex), каналҳо (chan) ё амалҳои атомӣ аз пакети sync/atomic истифода мешаванд.
Масалан, истифодаи mutex барои ҳимояи дастрасӣ ба тағйирёбандаи умумӣ:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock()
counter++
mu.Unlock()
}
Бе ин чораҳо, дастрасии ҳамзамон метавонад ба рафтори номуайян дар барнома оварда расонад.