Junior — Middle
Чӣ гуна метавон дастрасии манбаъро бо истифода аз сохтори Map ва механизм Mutex ҳамоҳанг кард?
sobes.tech AI
Ҷавоб аз AI
Дар Go барои ҳамоҳангсозии дастрасӣ ба сохтори умумии Map одатан аз mutex (sync.Mutex) истифода мешавад, зеро map дар муҳити бисёрсоҳавӣ бехатар нест.
Масалан:
import (
"sync"
)
var (
mu sync.Mutex
sharedMap = make(map[string]int)
)
func writeToMap(key string, value int) {
mu.Lock() // мӯҳргузорӣ кардани дастрасӣ
sharedMap[key] = value
mu.Unlock() // кушодани мӯҳр
}
func readFromMap(key string) (int, bool) {
mu.Lock()
val, ok := sharedMap[key]
mu.Unlock()
return val, ok
}
Ин тариқ, пеш аз хондан ё навиштани ба map, mutex-ро мӯҳр мекунем, то ҳолатҳои рақобатро пешгирӣ намоем ва корро дар муҳити ҳамзамон таъмин намоем.