Senior
Kas yra pesimistinis blokavimas?
sobes.tech AI
Atsakymas iš AI
Pesimistinis užraktas yra požiūris į konkurencinio prieigos valdymą prie duomenų, kai išteklius iškart užrakinamas operacijos pradžioje, siekiant išvengti konfliktų. Kitaip tariant, kai transakcija nori pakeisti duomenis, ji įgyja užraktą, ir kitos transakcijos laukia, kol užraktas bus atlaisvintas.
Go kalboje tai gali būti įgyvendinta naudojant mutexus (sync.Mutex), kurie blokuoja prieigą prie bendrų duomenų:
var mu sync.Mutex
func updateData() {
mu.Lock() // pesimistinis užraktas
defer mu.Unlock()
// kritinė sekcija
}
Šis požiūris užtikrina, kad tik viena gorutina gali keisti duomenis vienu metu, tačiau gali sumažinti paralelizmą ir sukelti užrakinimus.