Sobes.tech
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()
}

Бе ин чораҳо, дастрасии ҳамзамон метавонад ба рафтори номуайян дар барнома оварда расонад.