Sobes.tech
Senior

Co je to pesimistické blokování?

sobes.tech AI

Odpověď od AI

Pesimistické blokování je přístup k řízení souběžného přístupu k datům, při kterém je zdroj zablokován ihned na začátku operace, aby se předešlo konfliktům. To znamená, že když transakce chce změnit data, získá zámek, a ostatní transakce čekají, dokud se zámek neuvolní.

V Go lze toto implementovat pomocí mutexů (sync.Mutex), které blokují přístup ke sdíleným datům:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // pesimistické blokování
    defer mu.Unlock()
    // kritická sekce
}

Tento přístup zajišťuje, že pouze jedna gorutina může měnit data v daném okamžiku, ale může vést ke snížení paralelismu a k zablokování.