Sobes.tech
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.