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.