Junior — Middle
Kan één vlag worden gebruikt om de Mutex-vergrendeling te regelen?
sobes.tech AI
Antwoord van AI
Nee, je kunt niet één vlag gebruiken om de blokkering van Mutex in Go te beheren. sync.Mutex is een structuur met een interne toestand, en kan niet worden vervangen door een eenvoudige booleaanse vlag, omdat dit geen correcte synchronisatie tussen goroutines zou garanderen.
Het gebruik van één vlag garandeert niet de atomariteit van de lock- en unlock-operaties, wat kan leiden tot racecondities en fouten.
De juiste manier is het gebruik van de methoden Lock() en Unlock() uit het sync-pakket:
var mu sync.Mutex
mu.Lock()
// kritieke sectie
mu.Unlock()