Sobes.tech
Junior — Middle

Welke taken lost het package sync op in de programmeertaal Go?

sobes.tech AI

Antwoord van AI

De sync-package in de programmeertaal Go biedt synchronisatie-primitieven voor het beheren van gelijktijdige toegang tot bronnen en het coördineren van goroutines.

De belangrijkste taken die de sync-package oplost:

  • Mutex (Mutex) — ter bescherming van kritieke secties en het voorkomen van gelijktijdige toegang tot gedeelde gegevens.
  • RWMutex — mutex met scheiding tussen lezen en schrijven, waardoor meerdere goroutines gelijktijdig gegevens kunnen lezen, maar schrijven wordt geblokkeerd.
  • WaitGroup — om te wachten tot een groep goroutines klaar is.
  • Once — om een initialisatie slechts één keer uit te voeren.

Voorbeeld van het gebruik van Mutex:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()
    defer mu.Unlock()
    counter++
}

Op deze manier helpt de sync-package om veilig te werken met gelijktijdigheid en racecondities te voorkomen.