Junior — Middle
Kas mutex on niitide sünkroniseerimise tööriist?
sobes.tech AI
Vastus AI-lt
Jah, mutex (vastastikune välistus) on tööde sünkroniseerimise tööriist. Go-s on see struktuur sync.Mutex, mis võimaldab piirata samaaegset juurdepääsu jagatud ressurssidele ja vältida võistlusolukordi. Kui üks töö (goroutine) haarab mutexi, siis teised, kes püüavad seda haarata, blokeeritakse kuni selle vabastamiseni.
Mutexi kasutamise näide Go-s:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // haarata mutex
defer mu.Unlock() // vabastada mutex
counter++
}