Junior — Middle
A mutex egy szálak szinkronizálására szolgáló eszköz?
sobes.tech MI
Válasz az MI-től
Igen, a mutex (kölcsönös kizárás) egy szálak szinkronizálására szolgáló eszköz. Go-ban ez a sync.Mutex struktúra, amely lehetővé teszi a közös erőforrások egyidejű hozzáférésének korlátozását, és megakadályozza a versenyhelyzeteket. Amikor egy szál (goroutine) megszerzi a mutexet, a többi, aki megpróbálja megszerezni, blokkolva lesz, amíg az el nem szabadul.
Példa mutex használatára Go-ban:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // mutex zárolása
defer mu.Unlock() // mutex feloldása
counter++
}