Sobes.tech
Senior

Čo je to pesimistické blokovanie?

sobes.tech AI

Odpoveď od AI

Pesimistické blokovanie je prístup k riadeniu súbežného prístupu k údajom, pri ktorom sa zdroj zablokuje ihneď na začiatku operácie, aby sa predišlo konfliktom. To znamená, že keď transakcia chce zmeniť údaje, získa zámok, a ostatné transakcie čakajú, kým sa zámok neuvoľní.

V Go to môže byť implementované pomocou mutexov (sync.Mutex), ktoré blokujú prístup ku zdieľaným údajom:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // pesimistické blokovanie
    defer mu.Unlock()
    // kritická sekcia
}

Tento prístup zabezpečuje, že iba jedna gorutina môže meniť údaje naraz, ale môže viesť k zníženiu paralelizmu a blokovaniu.