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.