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.