Sobes.tech
Junior — Middle

Na čo slúži mechanizmus vzájomného vylúčenia (Mutex) v viacvláknovom programovaní?

sobes.tech AI

Odpoveď od AI

Mechanizmus vzájomného vylúčenia (Mutex) v viacvláknovom programovaní sa používa na zabránenie súčasnému prístupu viacerých vlákien ku spoločným zdrojom alebo kritickým sekciám kódu. To pomáha predchádzať podmienkam súťaže, poškodeniu dát a zabezpečuje správnu funkciu programu.

V Go sa na to často používa sync.Mutex:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // zamknutie mutexu
    counter++           // kritická sekcia
    mu.Unlock()         // odomknutie mutexu
}

Týmto spôsobom môže iba jedno vlákno vykonávať kód medzi Lock a Unlock naraz.