Sobes.tech
Junior — Middle

Waarvoor wordt het mechanisme van onderlinge uitsluiting (Mutex) gebruikt in multithread programming?

sobes.tech AI

Antwoord van AI

Het mechanisme van onderlinge uitsluiting (Mutex) in multithreaded programmeren wordt gebruikt om te voorkomen dat meerdere threads gelijktijdig toegang krijgen tot gedeelde bronnen of kritieke secties van de code. Dit helpt racecondities, datacorruptie te voorkomen en zorgt voor de correcte werking van het programma.

In Go wordt hiervoor vaak sync.Mutex gebruikt:

var mu sync.Mutex
var counter int

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

Op deze manier kan slechts één thread tegelijkertijd code uitvoeren tussen Lock en Unlock.