Junior — Middle
Qu'est-ce qui rend les goroutines plus efficaces par rapport aux threads d'implémentation traditionnelle?
sobes.tech IA
Réponse de l'IA
Les goroutines en Go sont plus efficaces que les threads traditionnels grâce à plusieurs caractéristiques clés :
- Légèreté : Les goroutines utilisent très peu de mémoire (environ 2 Ko de pile), alors que les threads système nécessitent beaucoup plus de mémoire.
- Planificateur au niveau du langage : Go possède son propre planificateur de goroutines, qui répartit efficacement leur exécution sur les threads système, permettant de lancer des milliers de goroutines simultanément sans coûts importants.
- Création et changement de contexte rapides : La création et le changement entre goroutines sont beaucoup plus rapides qu'entre threads OS, ce qui réduit les coûts de multitâche.
Exemple de création d'une goroutine :
func sayHello() {
fmt.Println("Bonjour depuis la goroutine")
}
func main() {
go sayHello() // lancer la goroutine
time.Sleep(time.Second) // attendre pour que la goroutine ait le temps de s'exécuter
}