Junior — Middle
Mire használják a kölcsönös kizárás (Mutex) mechanizmust a több szálas programozásban?
sobes.tech MI
Válasz az MI-től
A kölcsönös kizárás (Mutex) mechanizmus a több szálas programozásban arra szolgál, hogy megakadályozza több szál egyidejű hozzáférését a közös erőforrásokhoz vagy kritikus kód szekciókhoz. Ez segít elkerülni a versenyhelyzeteket, az adatok sérülését, és biztosítja a program helyes működését.
Go-ban gyakran használják ehhez a sync.Mutex-t:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // mutex zárolása
counter++ // kritikus szekció
mu.Unlock() // mutex feloldása
}
Így csak egy szál futtathatja a Lock és Unlock közötti kódot egyszerre.