Sobes.tech
Junior — Middle

Peux-tu énumérer les différents types et caractéristiques des goroutines dans le langage Go?

sobes.tech IA

Réponse de l'IA

Dans le langage Go, les goroutines sont des threads légers gérés par le runtime de Go. Il n'existe pas de "types" de goroutines en tant que tels, mais on peut distinguer des caractéristiques et des variantes d'utilisation :

  • Goroutines principales : créées à l'aide du mot-clé go avant l'appel d'une fonction.
  • Goroutines détachées : ce sont des goroutines qui démarrent et fonctionnent de manière indépendante, sans attendre leur terminaison.
  • Goroutines avec synchronisation : utilisent des canaux (chan) ou d'autres mécanismes de synchronisation pour échanger des données et coordonner.
  • Pool de goroutines : patron où un nombre limité de goroutines est créé pour traiter des tâches d'une file d'attente, aidant à contrôler le parallélisme.

Exemple de création d'une goroutine simple :

 go func() {
    fmt.Println("Bonjour depuis une goroutine")
}()

Les goroutines sont très légères comparées aux threads système, ce qui permet de lancer des milliers voire des millions de goroutines simultanément.