Sobes.tech
Junior — Middle

Je mutex nástroj na synchronizáciu vlákien?

sobes.tech AI

Odpoveď od AI

Áno, mutex (vzájomné vylúčenie) je nástroj na synchronizáciu vlákien. V Go je to štruktúra sync.Mutex, ktorá umožňuje obmedziť súčasný prístup ku spoločným zdrojom a zabrániť podmienkam súťaže. Keď jedno vlákno (gorutina) získa mutex, ostatné, ktoré sa ho snažia získať, sú zablokované, kým nie je mutex uvoľnený.

Príklad použitia mutexu v Go:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // získať mutex
    defer mu.Unlock()   // uvoľniť mutex
    counter++
}