Sobes.tech
Junior — Middle

Je mutex nástroj pro synchronizaci vláken?

sobes.tech AI

Odpověď od AI

Ano, mutex (vzájemné vyloučení) je nástroj pro synchronizaci vláken. V Go je to struktura sync.Mutex, která umožňuje omezit současný přístup ke sdíleným zdrojům a zabránit závodním podmínkám. Když jedno vlákno (goroutine) získá mutex, ostatní, které se ho snaží získat, jsou zablokovány, dokud není mutex uvolněn.

Příklad použití mutexu v Go:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // získat mutex
    defer mu.Unlock()   // uvolnit mutex
    counter++
}