Junior — Middle
Kādam nolūkam tiek izmantots savstarpējās izslēgšanas (Mutex) mehānisms daudzvirzienu programmēšanā?
sobes.tech AI
Atbilde no AI
Daudzšūnu programmēšanā (multithreading) savstarpējās izslēgšanas mehānisms (Mutex) tiek izmantots, lai novērstu vairāku šūnu vienlaicīgu piekļuvi kopīgiem resursiem vai kritiskajām koda sekcijām. Tas palīdz novērst sacensību stāvokļus, datu bojājumus un nodrošina pareizu programmas darbību.
Go valodā bieži izmanto sync.Mutex:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // bloķēt mutex
counter++ // kritiskā sekcija
mu.Unlock() // atbloķēt mutex
}
Tādējādi tikai viens šūns var izpildīt kodu starp Lock un Unlock vienlaikus.