Sobes.tech
Senior

Mi az a pesszimista zárolás?

sobes.tech MI

Válasz az MI-től

A pesszimista zárolás egy olyan megközelítés az adatokhoz való párhuzamos hozzáférés kezelésében, ahol az erőforrást azonnal zárolják az művelet megkezdésekor a konfliktusok elkerülése érdekében. Vagyis, amikor egy tranzakció módosítani akar adatokat, akkor zárolást szerez, és más tranzakciók várnak, amíg a zárolás fel nem oldódik.

Go nyelven ez megvalósítható mutexek (sync.Mutex) segítségével, amelyek blokkolják a hozzáférést a megosztott adatokhoz:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // pesszimista zárolás
    defer mu.Unlock()
    // kritikus szekció
}

Ez a megközelítés garantálja, hogy egyszerre csak egy goroutine módosíthatja az adatokat, de csökkentheti a párhuzamosságot és zárolásokat okozhat.