Sobes.tech
Senior

Was ist pessimistische Sperrung?

sobes.tech KI

Antwort von AI

Pessimistisches Sperren ist ein Ansatz zur Verwaltung des gleichzeitigen Zugriffs auf Daten, bei dem die Ressource sofort beim Beginn der Operation gesperrt wird, um Konflikte zu vermeiden. Das heißt, wenn eine Transaktion Daten ändern möchte, erwirbt sie eine Sperre, und andere Transaktionen warten, bis die Sperre freigegeben wird.

In Go kann dies mit Mutexen (sync.Mutex) umgesetzt werden, die den Zugriff auf gemeinsam genutzte Daten blockieren:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // pessimistisches Sperren
    defer mu.Unlock()
    // kritischer Abschnitt
}

Dieser Ansatz stellt sicher, dass nur eine Goroutine gleichzeitig Daten ändern kann, kann aber die Parallelität verringern und zu Sperren führen.