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í.