Junior — Middle
Ar mutex yra siūlų sinchronizavimo įrankis?
sobes.tech AI
Atsakymas iš AI
Taip, mutex (tarpusavio išskyrimas) yra sinchronizacijos įrankis siūlėms. Go kalboje tai yra struktūra sync.Mutex, leidžianti riboti vienu metu prieinamą bendrąsias išteklius ir užkirsti kelią lenktynių sąlygoms. Kai viena siūlė (gorutina) įgyja mutex, kitos, bandančios jį įgyti, yra blokuojamos iki tol, kol jis bus atlaisvintas.
Mutex naudojimo pavyzdys Go kalboje:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // įgyti mutex
defer mu.Unlock() // atlaisvinti mutex
counter++
}