Sobes.tech
Middle

Vertel me over goroutines in Go

sobes.tech AI

Antwoord van AI

Goroutines zijn lichte uitvoeringsstromen in de programmeertaal Go die het mogelijk maken functies parallel uit te voeren met minimale geheugen- en tijdskosten. Ze worden beheerd door de Go-runtime, niet door het besturingssysteem, wat ze efficiënter maakt dan traditionele threads.

Het starten van een goroutine gebeurt met het sleutelwoord go vóór de functieaanroep:

func sayHello() {
    fmt.Println("Hallo vanaf de goroutine")
}

func main() {
    go sayHello() // start een goroutine
    time.Sleep(time.Second) // geven de goroutine tijd om te voltooien
}

Goroutines gebruiken kanalen voor synchronisatie en gegevensuitwisseling, wat het schrijven van concurrerende code zonder expliciete blokkades vereenvoudigt.

Belangrijkste voordelen:

  • Zeer lage overheadkosten bij het maken en wisselen van context.
  • Eenvoudige synchronisatie via kanalen.
  • Efficiënt gebruik van multi-core systemen.