Sobes.tech
Senior

Qu'est-ce qu'une goroutine ? Pourquoi est-elle appelée légère ? Quelle est la taille initiale de la mémoire d'une goroutine et quelle est la maximale ?

sobes.tech IA

Réponse de l'IA

Une goroutine est un fil d'exécution léger dans le langage Go, implémenté au niveau du runtime et non par le système d'exploitation. Elle permet d'exécuter des fonctions en parallèle avec un minimum de surcharge.

Elle est appelée légère parce qu'à la différence des threads système, les goroutines occupent très peu de mémoire et sont créées rapidement. Cela est rendu possible grâce à la gestion dynamique de la pile et du planificateur au niveau de Go.

La taille initiale de la pile d'une goroutine est généralement d'environ 2 Ko (dans les premières versions de Go, 4 Ko), mais la pile peut croître et diminuer dynamiquement selon les besoins, atteignant un maximum de plusieurs mégaoctets (habituellement jusqu'à 1 Go, mais en pratique, une telle taille de pile est rarement nécessaire). Cette approche permet de lancer des milliers, voire des millions de goroutines simultanément sans coûts mémoire importants.