Sobes.tech
Junior — Middle

Is mutex een synchronisatie-instrument voor threads?

sobes.tech AI

Antwoord van AI

Ja, mutex (mutual exclusion) is een synchronisatiehulpmiddel voor threads. In Go is het een structuur sync.Mutex die het gelijktijdig toegang tot gedeelde bronnen beperkt en racecondities voorkomt. Wanneer een thread (goroutine) de mutex vergrendelt, worden andere die proberen te vergrendelen geblokkeerd totdat deze wordt vrijgegeven.

Voorbeeld van het gebruik van mutex in Go:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // mutex vergrendelen
    defer mu.Unlock()   // mutex ontgrendelen
    counter++
}