Junior — Middle
Da li je moguće koristiti jednu zastavicu za upravljanje zaključavanjem Mutex-a?
sobes.tech АИ
Одговор од АИ
Не, не може да се користи један флаг за управљање блокирањем Mutex у Go-у. sync.Mutex је структура са унутрашњим стањем и не може се заменити једноставним логичким флагом, јер то неће обезбедити исправну синхронизацију између горутина.
Користећи један флаг не гарантује атомарност операција закључавања и откључавања, што може довести до стања трка и грешака.
Правилан начин је коришћење метода Lock() и Unlock() из пакета sync:
var mu sync.Mutex
mu.Lock()
// критична секција
mu.Unlock()