Sobes.tech
Senior

Ce este blocarea pesimistă?

sobes.tech AI

Răspuns de la AI

Blocarea pesimistă este o abordare pentru gestionarea accesului concurent la date, în care resursa este blocată imediat la începutul operației pentru a preveni conflictele. Adică, atunci când o tranzacție dorește să modifice datele, aceasta obține o blocare, iar alte tranzacții așteaptă până când blocarea este eliberată.

În Go, acest lucru poate fi implementat folosind mutexuri (sync.Mutex), care blochează accesul la datele partajate:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // blocare pesimistă
    defer mu.Unlock()
    // secțiune critică
}

Această abordare garantează că doar o gorutină poate modifica datele la un moment dat, dar poate duce la reducerea paralelismului și la blocaje.