Junior — Middle
Wat zijn de voordelen van het gebruik van goroutines in vergelijking met threads?
sobes.tech AI
Antwoord van AI
Goroutines in Go zijn lichte threads die worden beheerd door de Go-runtime, niet door het besturingssysteem. Hun voordelen ten opzichte van klassieke threads:
- Minder geheugenverbruik: Goroutines gebruiken slechts enkele kilobytes geheugen, terwijl threads — megabytes.
- Snelle creatie en schakeling: Het starten en schakelen tussen goroutines gaat veel sneller.
- Eenvoudige synchronisatie: Go biedt kanalen voor veilige gegevensuitwisseling tussen goroutines, wat concurrerend programmeren vereenvoudigt.
- Schaalbaarheid: Je kunt duizenden en zelfs miljoenen goroutines gelijktijdig starten.
Voorbeeld van het maken van een goroutine:
func sayHello() {
fmt.Println("Hallo vanaf goroutine")
}
func main() {
go sayHello() // start een goroutine
time.Sleep(time.Second) // wacht zodat de goroutine kan uitvoeren
}